Message ID | 1444261711-1829-4-git-send-email-vivien.didelot@savoirfairelinux.com |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
Hi Vivien,
[auto build test ERROR on net-next/master -- if it's inappropriate base, please ignore]
config: arm64-allyesconfig (attached as .config)
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=arm64
All errors (new ones prefixed by >>):
In file included from drivers/net/ethernet/hisilicon/hns/hnae.c:15:0:
>> drivers/net/ethernet/hisilicon/hns/hnae.h:465:2: error: unknown type name 'phy_interface_t'
phy_interface_t phy_if;
^
vim +/phy_interface_t +465 drivers/net/ethernet/hisilicon/hns/hnae.h
6fe6611f huangdaode 2015-09-17 449 struct hnae_ae_dev {
6fe6611f huangdaode 2015-09-17 450 struct device cls_dev; /* the class dev */
6fe6611f huangdaode 2015-09-17 451 struct device *dev; /* the presented dev */
6fe6611f huangdaode 2015-09-17 452 struct hnae_ae_ops *ops;
6fe6611f huangdaode 2015-09-17 453 struct list_head node;
6fe6611f huangdaode 2015-09-17 454 struct module *owner; /* the module who provides this dev */
6fe6611f huangdaode 2015-09-17 455 int id;
6fe6611f huangdaode 2015-09-17 456 char name[AE_NAME_SIZE];
6fe6611f huangdaode 2015-09-17 457 struct list_head handle_list;
6fe6611f huangdaode 2015-09-17 458 spinlock_t lock; /* lock to protect the handle_list */
6fe6611f huangdaode 2015-09-17 459 };
6fe6611f huangdaode 2015-09-17 460
6fe6611f huangdaode 2015-09-17 461 struct hnae_handle {
6fe6611f huangdaode 2015-09-17 462 struct device *owner_dev; /* the device which make use of this handle */
6fe6611f huangdaode 2015-09-17 463 struct hnae_ae_dev *dev; /* the device who provides this handle */
6fe6611f huangdaode 2015-09-17 464 struct device_node *phy_node;
6fe6611f huangdaode 2015-09-17 @465 phy_interface_t phy_if;
6fe6611f huangdaode 2015-09-17 466 u32 if_support;
6fe6611f huangdaode 2015-09-17 467 int q_num;
6fe6611f huangdaode 2015-09-17 468 int vf_id;
6fe6611f huangdaode 2015-09-17 469 u32 eport_id;
6fe6611f huangdaode 2015-09-17 470 enum hnae_port_type port_type;
6fe6611f huangdaode 2015-09-17 471 struct list_head node; /* list to hnae_ae_dev->handle_list */
6fe6611f huangdaode 2015-09-17 472 struct hnae_buf_ops *bops; /* operation for the buffer */
6fe6611f huangdaode 2015-09-17 473 struct hnae_queue **qs; /* array base of all queues */
:::::: The code at line 465 was first introduced by commit
:::::: 6fe6611ff275522a4e4c0359e2f46cdd07780d2f net: add Hisilicon Network Subsystem hnae framework support
:::::: TO: huangdaode <huangdaode@hisilicon.com>
:::::: CC: David S. Miller <davem@davemloft.net>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Thu, Oct 08, 2015 at 11:04:48AM CEST, lkp@intel.com wrote: >Hi Vivien, > >[auto build test ERROR on net-next/master -- if it's inappropriate base, please ignore] > >config: arm64-allyesconfig (attached as .config) >reproduce: > wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross > chmod +x ~/bin/make.cross > # save the attached .config to linux build tree > make.cross ARCH=arm64 > >All errors (new ones prefixed by >>): > > In file included from drivers/net/ethernet/hisilicon/hns/hnae.c:15:0: >>> drivers/net/ethernet/hisilicon/hns/hnae.h:465:2: error: unknown type name 'phy_interface_t' > phy_interface_t phy_if; > ^ > >vim +/phy_interface_t +465 drivers/net/ethernet/hisilicon/hns/hnae.h Looks like hnae.c needs to do "#include <linux/phy.h>" directly. Cc'ing maintainer. > >6fe6611f huangdaode 2015-09-17 449 struct hnae_ae_dev { >6fe6611f huangdaode 2015-09-17 450 struct device cls_dev; /* the class dev */ >6fe6611f huangdaode 2015-09-17 451 struct device *dev; /* the presented dev */ >6fe6611f huangdaode 2015-09-17 452 struct hnae_ae_ops *ops; >6fe6611f huangdaode 2015-09-17 453 struct list_head node; >6fe6611f huangdaode 2015-09-17 454 struct module *owner; /* the module who provides this dev */ >6fe6611f huangdaode 2015-09-17 455 int id; >6fe6611f huangdaode 2015-09-17 456 char name[AE_NAME_SIZE]; >6fe6611f huangdaode 2015-09-17 457 struct list_head handle_list; >6fe6611f huangdaode 2015-09-17 458 spinlock_t lock; /* lock to protect the handle_list */ >6fe6611f huangdaode 2015-09-17 459 }; >6fe6611f huangdaode 2015-09-17 460 >6fe6611f huangdaode 2015-09-17 461 struct hnae_handle { >6fe6611f huangdaode 2015-09-17 462 struct device *owner_dev; /* the device which make use of this handle */ >6fe6611f huangdaode 2015-09-17 463 struct hnae_ae_dev *dev; /* the device who provides this handle */ >6fe6611f huangdaode 2015-09-17 464 struct device_node *phy_node; >6fe6611f huangdaode 2015-09-17 @465 phy_interface_t phy_if; >6fe6611f huangdaode 2015-09-17 466 u32 if_support; >6fe6611f huangdaode 2015-09-17 467 int q_num; >6fe6611f huangdaode 2015-09-17 468 int vf_id; >6fe6611f huangdaode 2015-09-17 469 u32 eport_id; >6fe6611f huangdaode 2015-09-17 470 enum hnae_port_type port_type; >6fe6611f huangdaode 2015-09-17 471 struct list_head node; /* list to hnae_ae_dev->handle_list */ >6fe6611f huangdaode 2015-09-17 472 struct hnae_buf_ops *bops; /* operation for the buffer */ >6fe6611f huangdaode 2015-09-17 473 struct hnae_queue **qs; /* array base of all queues */ > >:::::: The code at line 465 was first introduced by commit >:::::: 6fe6611ff275522a4e4c0359e2f46cdd07780d2f net: add Hisilicon Network Subsystem hnae framework support > >:::::: TO: huangdaode <huangdaode@hisilicon.com> >:::::: CC: David S. Miller <davem@davemloft.net> > >--- >0-DAY kernel test infrastructure Open Source Technology Center >https://lists.01.org/pipermail/kbuild-all Intel Corporation -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 10/8/2015 10:18 AM, Jiri Pirko wrote: > Thu, Oct 08, 2015 at 11:04:48AM CEST, lkp@intel.com wrote: >> Hi Vivien, >> >> [auto build test ERROR on net-next/master -- if it's inappropriate base, please ignore] >> >> config: arm64-allyesconfig (attached as .config) >> reproduce: >> wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross >> chmod +x ~/bin/make.cross >> # save the attached .config to linux build tree >> make.cross ARCH=arm64 >> >> All errors (new ones prefixed by >>): >> >> In file included from drivers/net/ethernet/hisilicon/hns/hnae.c:15:0: >>>> drivers/net/ethernet/hisilicon/hns/hnae.h:465:2: error: unknown type name 'phy_interface_t' >> phy_interface_t phy_if; >> ^ >> >> vim +/phy_interface_t +465 drivers/net/ethernet/hisilicon/hns/hnae.h > > Hi Jiri, > Looks like hnae.c needs to do "#include <linux/phy.h>" directly. > Cc'ing maintainer. > Thanks! We will send the fix patch soon. Best Regards, Wei > >> >> 6fe6611f huangdaode 2015-09-17 449 struct hnae_ae_dev { >> 6fe6611f huangdaode 2015-09-17 450 struct device cls_dev; /* the class dev */ >> 6fe6611f huangdaode 2015-09-17 451 struct device *dev; /* the presented dev */ >> 6fe6611f huangdaode 2015-09-17 452 struct hnae_ae_ops *ops; >> 6fe6611f huangdaode 2015-09-17 453 struct list_head node; >> 6fe6611f huangdaode 2015-09-17 454 struct module *owner; /* the module who provides this dev */ >> 6fe6611f huangdaode 2015-09-17 455 int id; >> 6fe6611f huangdaode 2015-09-17 456 char name[AE_NAME_SIZE]; >> 6fe6611f huangdaode 2015-09-17 457 struct list_head handle_list; >> 6fe6611f huangdaode 2015-09-17 458 spinlock_t lock; /* lock to protect the handle_list */ >> 6fe6611f huangdaode 2015-09-17 459 }; >> 6fe6611f huangdaode 2015-09-17 460 >> 6fe6611f huangdaode 2015-09-17 461 struct hnae_handle { >> 6fe6611f huangdaode 2015-09-17 462 struct device *owner_dev; /* the device which make use of this handle */ >> 6fe6611f huangdaode 2015-09-17 463 struct hnae_ae_dev *dev; /* the device who provides this handle */ >> 6fe6611f huangdaode 2015-09-17 464 struct device_node *phy_node; >> 6fe6611f huangdaode 2015-09-17 @465 phy_interface_t phy_if; >> 6fe6611f huangdaode 2015-09-17 466 u32 if_support; >> 6fe6611f huangdaode 2015-09-17 467 int q_num; >> 6fe6611f huangdaode 2015-09-17 468 int vf_id; >> 6fe6611f huangdaode 2015-09-17 469 u32 eport_id; >> 6fe6611f huangdaode 2015-09-17 470 enum hnae_port_type port_type; >> 6fe6611f huangdaode 2015-09-17 471 struct list_head node; /* list to hnae_ae_dev->handle_list */ >> 6fe6611f huangdaode 2015-09-17 472 struct hnae_buf_ops *bops; /* operation for the buffer */ >> 6fe6611f huangdaode 2015-09-17 473 struct hnae_queue **qs; /* array base of all queues */ >> >> :::::: The code at line 465 was first introduced by commit >> :::::: 6fe6611ff275522a4e4c0359e2f46cdd07780d2f net: add Hisilicon Network Subsystem hnae framework support >> >> :::::: TO: huangdaode <huangdaode@hisilicon.com> >> :::::: CC: David S. Miller <davem@davemloft.net> >> >> --- >> 0-DAY kernel test infrastructure Open Source Technology Center >> https://lists.01.org/pipermail/kbuild-all Intel Corporation > > > > . > -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Thu, Oct 08, 2015 at 02:11:11PM CEST, huangdaode@hisilicon.com wrote: >On 2015/10/8 17:18, Jiri Pirko wrote: >>Thu, Oct 08, 2015 at 11:04:48AM CEST, lkp@intel.com wrote: >>>Hi Vivien, >>> >>>[auto build test ERROR on net-next/master -- if it's inappropriate base, please ignore] >>> >>>config: arm64-allyesconfig (attached as .config) >>>reproduce: >>> wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross >>> chmod +x ~/bin/make.cross >>> # save the attached .config to linux build tree >>> make.cross ARCH=arm64 >>> >>>All errors (new ones prefixed by >>): >>> >>> In file included from drivers/net/ethernet/hisilicon/hns/hnae.c:15:0: >>>>>drivers/net/ethernet/hisilicon/hns/hnae.h:465:2: error: unknown type name 'phy_interface_t' >>> phy_interface_t phy_if; >>> ^ >>> >>>vim +/phy_interface_t +465 drivers/net/ethernet/hisilicon/hns/hnae.h >> >>Looks like hnae.c needs to do "#include <linux/phy.h>" directly. >>Cc'ing maintainer. >> >> >>>6fe6611f huangdaode 2015-09-17 449 struct hnae_ae_dev { >>>6fe6611f huangdaode 2015-09-17 450 struct device cls_dev; /* the class dev */ >>>6fe6611f huangdaode 2015-09-17 451 struct device *dev; /* the presented dev */ >>>6fe6611f huangdaode 2015-09-17 452 struct hnae_ae_ops *ops; >>>6fe6611f huangdaode 2015-09-17 453 struct list_head node; >>>6fe6611f huangdaode 2015-09-17 454 struct module *owner; /* the module who provides this dev */ >>>6fe6611f huangdaode 2015-09-17 455 int id; >>>6fe6611f huangdaode 2015-09-17 456 char name[AE_NAME_SIZE]; >>>6fe6611f huangdaode 2015-09-17 457 struct list_head handle_list; >>>6fe6611f huangdaode 2015-09-17 458 spinlock_t lock; /* lock to protect the handle_list */ >>>6fe6611f huangdaode 2015-09-17 459 }; >>>6fe6611f huangdaode 2015-09-17 460 >>>6fe6611f huangdaode 2015-09-17 461 struct hnae_handle { >>>6fe6611f huangdaode 2015-09-17 462 struct device *owner_dev; /* the device which make use of this handle */ >>>6fe6611f huangdaode 2015-09-17 463 struct hnae_ae_dev *dev; /* the device who provides this handle */ >>>6fe6611f huangdaode 2015-09-17 464 struct device_node *phy_node; >>>6fe6611f huangdaode 2015-09-17 @465 phy_interface_t phy_if; >>>6fe6611f huangdaode 2015-09-17 466 u32 if_support; >>>6fe6611f huangdaode 2015-09-17 467 int q_num; >>>6fe6611f huangdaode 2015-09-17 468 int vf_id; >>>6fe6611f huangdaode 2015-09-17 469 u32 eport_id; >>>6fe6611f huangdaode 2015-09-17 470 enum hnae_port_type port_type; >>>6fe6611f huangdaode 2015-09-17 471 struct list_head node; /* list to hnae_ae_dev->handle_list */ >>>6fe6611f huangdaode 2015-09-17 472 struct hnae_buf_ops *bops; /* operation for the buffer */ >>>6fe6611f huangdaode 2015-09-17 473 struct hnae_queue **qs; /* array base of all queues */ >>> >>>:::::: The code at line 465 was first introduced by commit >>>:::::: 6fe6611ff275522a4e4c0359e2f46cdd07780d2f net: add Hisilicon Network Subsystem hnae framework support >>> >>>:::::: TO: huangdaode <huangdaode@hisilicon.com> >>>:::::: CC: David S. Miller <davem@davemloft.net> >>> >>>--- >>>0-DAY kernel test infrastructure Open Source Technology Center >>>https://lists.01.org/pipermail/kbuild-all Intel Corporation >> >>-- >>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >>the body of a message to majordomo@vger.kernel.org >>More majordomo info at http://vger.kernel.org/majordomo-info.html >>Please read the FAQ at http://www.tux.org/lkml/ >> >>. >> >Hi Jiri >thanks for your information. i have compiled the latest net-next repo using >your config file, but don't find the error you mentioned. >the attachment is the build log and the config file. > >also, i used the following command to compile, but still fail to reproduce >your issue. >/ daode@Turing-Arch-b:~/work/net-next$ cat build.sh // >// export ARCH=arm64 // >// export CROSS_COMPILE=aarch64-linux-gnu-// >// make allyesconfig// >// make -j16 // >////daode@Turing-Arch-b:~/work/net-next$ / > >so could you please help me to reproduce the issue. The patch is not in tree. That does not change the fact that you should include linux/phy.h directly. Please send the patch adding that. Thanks! -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 2015/10/8 20:18, Jiri Pirko wrote: > Thu, Oct 08, 2015 at 02:11:11PM CEST, huangdaode@hisilicon.com wrote: >> On 2015/10/8 17:18, Jiri Pirko wrote: >>> Thu, Oct 08, 2015 at 11:04:48AM CEST, lkp@intel.com wrote: >>>> Hi Vivien, >>>> >>>> [auto build test ERROR on net-next/master -- if it's inappropriate base, please ignore] >>>> >>>> config: arm64-allyesconfig (attached as .config) >>>> reproduce: >>>> wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross >>>> chmod +x ~/bin/make.cross >>>> # save the attached .config to linux build tree >>>> make.cross ARCH=arm64 >>>> >>>> All errors (new ones prefixed by >>): >>>> >>>> In file included from drivers/net/ethernet/hisilicon/hns/hnae.c:15:0: >>>>>> drivers/net/ethernet/hisilicon/hns/hnae.h:465:2: error: unknown type name 'phy_interface_t' >>>> phy_interface_t phy_if; >>>> ^ >>>> >>>> vim +/phy_interface_t +465 drivers/net/ethernet/hisilicon/hns/hnae.h >>> Looks like hnae.c needs to do "#include <linux/phy.h>" directly. >>> Cc'ing maintainer. >>> >>> >>>> 6fe6611f huangdaode 2015-09-17 449 struct hnae_ae_dev { >>>> 6fe6611f huangdaode 2015-09-17 450 struct device cls_dev; /* the class dev */ >>>> 6fe6611f huangdaode 2015-09-17 451 struct device *dev; /* the presented dev */ >>>> 6fe6611f huangdaode 2015-09-17 452 struct hnae_ae_ops *ops; >>>> 6fe6611f huangdaode 2015-09-17 453 struct list_head node; >>>> 6fe6611f huangdaode 2015-09-17 454 struct module *owner; /* the module who provides this dev */ >>>> 6fe6611f huangdaode 2015-09-17 455 int id; >>>> 6fe6611f huangdaode 2015-09-17 456 char name[AE_NAME_SIZE]; >>>> 6fe6611f huangdaode 2015-09-17 457 struct list_head handle_list; >>>> 6fe6611f huangdaode 2015-09-17 458 spinlock_t lock; /* lock to protect the handle_list */ >>>> 6fe6611f huangdaode 2015-09-17 459 }; >>>> 6fe6611f huangdaode 2015-09-17 460 >>>> 6fe6611f huangdaode 2015-09-17 461 struct hnae_handle { >>>> 6fe6611f huangdaode 2015-09-17 462 struct device *owner_dev; /* the device which make use of this handle */ >>>> 6fe6611f huangdaode 2015-09-17 463 struct hnae_ae_dev *dev; /* the device who provides this handle */ >>>> 6fe6611f huangdaode 2015-09-17 464 struct device_node *phy_node; >>>> 6fe6611f huangdaode 2015-09-17 @465 phy_interface_t phy_if; >>>> 6fe6611f huangdaode 2015-09-17 466 u32 if_support; >>>> 6fe6611f huangdaode 2015-09-17 467 int q_num; >>>> 6fe6611f huangdaode 2015-09-17 468 int vf_id; >>>> 6fe6611f huangdaode 2015-09-17 469 u32 eport_id; >>>> 6fe6611f huangdaode 2015-09-17 470 enum hnae_port_type port_type; >>>> 6fe6611f huangdaode 2015-09-17 471 struct list_head node; /* list to hnae_ae_dev->handle_list */ >>>> 6fe6611f huangdaode 2015-09-17 472 struct hnae_buf_ops *bops; /* operation for the buffer */ >>>> 6fe6611f huangdaode 2015-09-17 473 struct hnae_queue **qs; /* array base of all queues */ >>>> >>>> :::::: The code at line 465 was first introduced by commit >>>> :::::: 6fe6611ff275522a4e4c0359e2f46cdd07780d2f net: add Hisilicon Network Subsystem hnae framework support >>>> >>>> :::::: TO: huangdaode <huangdaode@hisilicon.com> >>>> :::::: CC: David S. Miller <davem@davemloft.net> >>>> >>>> --- >>>> 0-DAY kernel test infrastructure Open Source Technology Center >>>> https://lists.01.org/pipermail/kbuild-all Intel Corporation >>> -- >>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >>> the body of a message to majordomo@vger.kernel.org >>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>> Please read the FAQ at http://www.tux.org/lkml/ >>> >>> . >>> >> Hi Jiri >> thanks for your information. i have compiled the latest net-next repo using >> your config file, but don't find the error you mentioned. >> the attachment is the build log and the config file. >> >> also, i used the following command to compile, but still fail to reproduce >> your issue. >> / daode@Turing-Arch-b:~/work/net-next$ cat build.sh // >> // export ARCH=arm64 // >> // export CROSS_COMPILE=aarch64-linux-gnu-// >> // make allyesconfig// >> // make -j16 // >> ////daode@Turing-Arch-b:~/work/net-next$ / >> >> so could you please help me to reproduce the issue. > The patch is not in tree. That does not change the fact that you should > include linux/phy.h directly. Please send the patch adding that. Thanks! > > > > . > ok, thanks!
Hi Vivien, [auto build test ERROR on net-next/master -- if it's inappropriate base, please ignore] config: x86_64-randconfig-n0-10110700 (attached as .config) reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): drivers/net/usb/lan78xx.c: In function 'lan78xx_link_reset': >> drivers/net/usb/lan78xx.c:841:8: error: implicit declaration of function 'phy_read' [-Werror=implicit-function-declaration] ret = phy_read(phydev, LAN88XX_INT_STS); ^ >> drivers/net/usb/lan78xx.c:850:2: error: implicit declaration of function 'phy_read_status' [-Werror=implicit-function-declaration] phy_read_status(phydev); ^ >> drivers/net/usb/lan78xx.c:852:13: error: dereferencing pointer to incomplete type 'struct phy_device' if (!phydev->link && dev->link_on) { ^ >> drivers/net/usb/lan78xx.c:867:3: error: implicit declaration of function 'phy_ethtool_gset' [-Werror=implicit-function-declaration] phy_ethtool_gset(phydev, &ecmd); ^ drivers/net/usb/lan78xx.c: In function 'lan78xx_set_wol': >> drivers/net/usb/lan78xx.c:1067:2: error: implicit declaration of function 'phy_ethtool_set_wol' [-Werror=implicit-function-declaration] phy_ethtool_set_wol(netdev->phydev, wol); ^ drivers/net/usb/lan78xx.c: In function 'lan78xx_get_eee': >> drivers/net/usb/lan78xx.c:1085:8: error: implicit declaration of function 'phy_ethtool_get_eee' [-Werror=implicit-function-declaration] ret = phy_ethtool_get_eee(phydev, edata); ^ drivers/net/usb/lan78xx.c: In function 'lan78xx_set_eee': >> drivers/net/usb/lan78xx.c:1127:3: error: implicit declaration of function 'phy_ethtool_set_eee' [-Werror=implicit-function-declaration] phy_ethtool_set_eee(net->phydev, edata); ^ drivers/net/usb/lan78xx.c: In function 'lan78xx_nway_reset': >> drivers/net/usb/lan78xx.c:1151:9: error: implicit declaration of function 'phy_start_aneg' [-Werror=implicit-function-declaration] return phy_start_aneg(net->phydev); ^ drivers/net/usb/lan78xx.c: In function 'lan78xx_get_mdix_status': >> drivers/net/usb/lan78xx.c:1183:2: error: implicit declaration of function 'phy_write' [-Werror=implicit-function-declaration] phy_write(phydev, LAN88XX_EXT_PAGE_ACCESS, LAN88XX_EXT_PAGE_SPACE_1); ^ drivers/net/usb/lan78xx.c: In function 'lan78xx_set_settings': >> drivers/net/usb/lan78xx.c:1275:8: error: implicit declaration of function 'phy_ethtool_sset' [-Werror=implicit-function-declaration] ret = phy_ethtool_sset(phydev, cmd); ^ drivers/net/usb/lan78xx.c: In function 'lan78xx_ioctl': >> drivers/net/usb/lan78xx.c:1315:9: error: implicit declaration of function 'phy_mii_ioctl' [-Werror=implicit-function-declaration] return phy_mii_ioctl(netdev->phydev, rq, cmd); ^ drivers/net/usb/lan78xx.c: In function 'lan78xx_mdiobus_read': >> drivers/net/usb/lan78xx.c:1374:31: error: dereferencing pointer to incomplete type 'struct mii_bus' struct lan78xx_net *dev = bus->priv; ^ drivers/net/usb/lan78xx.c: In function 'lan78xx_mdio_init': >> drivers/net/usb/lan78xx.c:1447:17: error: implicit declaration of function 'mdiobus_alloc' [-Werror=implicit-function-declaration] dev->mdiobus = mdiobus_alloc(); ^ drivers/net/usb/lan78xx.c:1447:15: warning: assignment makes pointer from integer without a cast [-Wint-conversion] dev->mdiobus = mdiobus_alloc(); ^ >> drivers/net/usb/lan78xx.c:1458:29: error: 'MII_BUS_ID_SIZE' undeclared (first use in this function) snprintf(dev->mdiobus->id, MII_BUS_ID_SIZE, "usb-%03d:%03d", ^ drivers/net/usb/lan78xx.c:1458:29: note: each undeclared identifier is reported only once for each function it appears in >> drivers/net/usb/lan78xx.c:1461:44: error: 'PHY_MAX_ADDR' undeclared (first use in this function) dev->mdiobus->irq = kzalloc(sizeof(int) * PHY_MAX_ADDR, GFP_KERNEL); ^ >> drivers/net/usb/lan78xx.c:1469:26: error: 'PHY_IGNORE_INTERRUPT' undeclared (first use in this function) dev->mdiobus->irq[i] = PHY_IGNORE_INTERRUPT; ^ >> drivers/net/usb/lan78xx.c:1479:8: error: implicit declaration of function 'mdiobus_register' [-Werror=implicit-function-declaration] ret = mdiobus_register(dev->mdiobus); ^ >> drivers/net/usb/lan78xx.c:1490:2: error: implicit declaration of function 'mdiobus_free' [-Werror=implicit-function-declaration] mdiobus_free(dev->mdiobus); ^ drivers/net/usb/lan78xx.c: In function 'lan78xx_remove_mdio': >> drivers/net/usb/lan78xx.c:1496:2: error: implicit declaration of function 'mdiobus_unregister' [-Werror=implicit-function-declaration] mdiobus_unregister(dev->mdiobus); ^ drivers/net/usb/lan78xx.c: In function 'lan78xx_phy_init': >> drivers/net/usb/lan78xx.c:1511:11: error: implicit declaration of function 'phy_find_first' [-Werror=implicit-function-declaration] phydev = phy_find_first(dev->mdiobus); ^ drivers/net/usb/lan78xx.c:1511:9: warning: assignment makes pointer from integer without a cast [-Wint-conversion] phydev = phy_find_first(dev->mdiobus); ^ vim +/phy_read +841 drivers/net/usb/lan78xx.c ce85e13ad Woojung.Huh@microchip.com 2015-09-16 835 struct phy_device *phydev = dev->net->phydev; 55d7de9de Woojung.Huh@microchip.com 2015-07-30 836 struct ethtool_cmd ecmd = { .cmd = ETHTOOL_GSET }; 99c79eceb Geert Uytterhoeven 2015-09-04 837 int ladv, radv, ret; 55d7de9de Woojung.Huh@microchip.com 2015-07-30 838 u32 buf; 55d7de9de Woojung.Huh@microchip.com 2015-07-30 839 55d7de9de Woojung.Huh@microchip.com 2015-07-30 840 /* clear PHY interrupt status */ bdfba55e0 Woojung.Huh@microchip.com 2015-09-16 @841 ret = phy_read(phydev, LAN88XX_INT_STS); 55d7de9de Woojung.Huh@microchip.com 2015-07-30 842 if (unlikely(ret < 0)) 55d7de9de Woojung.Huh@microchip.com 2015-07-30 843 return -EIO; 55d7de9de Woojung.Huh@microchip.com 2015-07-30 844 55d7de9de Woojung.Huh@microchip.com 2015-07-30 845 /* clear LAN78xx interrupt status */ 55d7de9de Woojung.Huh@microchip.com 2015-07-30 846 ret = lan78xx_write_reg(dev, INT_STS, INT_STS_PHY_INT_); 55d7de9de Woojung.Huh@microchip.com 2015-07-30 847 if (unlikely(ret < 0)) 55d7de9de Woojung.Huh@microchip.com 2015-07-30 848 return -EIO; 55d7de9de Woojung.Huh@microchip.com 2015-07-30 849 ce85e13ad Woojung.Huh@microchip.com 2015-09-16 @850 phy_read_status(phydev); ce85e13ad Woojung.Huh@microchip.com 2015-09-16 851 ce85e13ad Woojung.Huh@microchip.com 2015-09-16 @852 if (!phydev->link && dev->link_on) { 55d7de9de Woojung.Huh@microchip.com 2015-07-30 853 dev->link_on = false; 55d7de9de Woojung.Huh@microchip.com 2015-07-30 854 netif_carrier_off(dev->net); 55d7de9de Woojung.Huh@microchip.com 2015-07-30 855 55d7de9de Woojung.Huh@microchip.com 2015-07-30 856 /* reset MAC */ 55d7de9de Woojung.Huh@microchip.com 2015-07-30 857 ret = lan78xx_read_reg(dev, MAC_CR, &buf); 55d7de9de Woojung.Huh@microchip.com 2015-07-30 858 if (unlikely(ret < 0)) 55d7de9de Woojung.Huh@microchip.com 2015-07-30 859 return -EIO; 55d7de9de Woojung.Huh@microchip.com 2015-07-30 860 buf |= MAC_CR_RST_; 55d7de9de Woojung.Huh@microchip.com 2015-07-30 861 ret = lan78xx_write_reg(dev, MAC_CR, buf); 55d7de9de Woojung.Huh@microchip.com 2015-07-30 862 if (unlikely(ret < 0)) 55d7de9de Woojung.Huh@microchip.com 2015-07-30 863 return -EIO; ce85e13ad Woojung.Huh@microchip.com 2015-09-16 864 } else if (phydev->link && !dev->link_on) { 55d7de9de Woojung.Huh@microchip.com 2015-07-30 865 dev->link_on = true; 55d7de9de Woojung.Huh@microchip.com 2015-07-30 866 ce85e13ad Woojung.Huh@microchip.com 2015-09-16 @867 phy_ethtool_gset(phydev, &ecmd); 55d7de9de Woojung.Huh@microchip.com 2015-07-30 868 bdfba55e0 Woojung.Huh@microchip.com 2015-09-16 869 ret = phy_read(phydev, LAN88XX_INT_STS); 55d7de9de Woojung.Huh@microchip.com 2015-07-30 870 :::::: The code at line 841 was first introduced by commit :::::: bdfba55e0d541a9547d737573ae11db7ed72e2bb lan78xx: Remove phy defines in lan78xx.h and use defines in include/linux/microchipphy.h :::::: TO: Woojung.Huh@microchip.com <Woojung.Huh@microchip.com> :::::: CC: David S. Miller <davem@davemloft.net> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 73f0510..d0bcabb 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -41,7 +41,6 @@ #include <linux/ethtool.h> #include <net/net_namespace.h> -#include <net/dsa.h> #ifdef CONFIG_DCB #include <net/dcbnl.h> #endif @@ -60,6 +59,8 @@ struct wireless_dev; /* 802.15.4 specific */ struct wpan_dev; struct mpls_dev; +/* DSA specific */ +struct dsa_switch_tree; void netdev_set_default_ethtool_ops(struct net_device *dev, const struct ethtool_ops *ops);
Forward declare struct dsa_switch_tree in netdevice.h instead of including the dsa.h header. Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> --- include/linux/netdevice.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)