Re: [PATCH net-next v2 4/8] ethtool: eee: Rework get/set handler for SmartEEE-capable PHYs with non-EEE MACs
From: kernel test robot <hidden>
Date: 2023-03-27 20:46:38
Also in:
lkml, oe-kbuild-all
Hi Oleksij, I love your patch! Yet something to improve: [auto build test ERROR on net-next/main] url: https://github.com/intel-lab-lkp/linux/commits/Oleksij-Rempel/net-phy-Add-driver-specific-get-set_eee-support-for-non-standard-PHYs/20230327-222630 patch link: https://lore.kernel.org/r/20230327142202.3754446-5-o.rempel%40pengutronix.de patch subject: [PATCH net-next v2 4/8] ethtool: eee: Rework get/set handler for SmartEEE-capable PHYs with non-EEE MACs config: um-i386_defconfig (https://download.01.org/0day-ci/archive/20230328/202303280408.Krp7V753-lkp@intel.com/config) compiler: gcc-11 (Debian 11.3.0-8) 11.3.0 reproduce (this is a W=1 build): # https://github.com/intel-lab-lkp/linux/commit/fcee3230c8abb824746744ba0fc39dfd626faa65 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Oleksij-Rempel/net-phy-Add-driver-specific-get-set_eee-support-for-non-standard-PHYs/20230327-222630 git checkout fcee3230c8abb824746744ba0fc39dfd626faa65 # save the config file mkdir build_dir && cp config build_dir/.config make W=1 O=build_dir ARCH=um SUBARCH=i386 olddefconfig make W=1 O=build_dir ARCH=um SUBARCH=i386 SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot [off-list ref] | Link: https://lore.kernel.org/oe-kbuild-all/202303280408.Krp7V753-lkp@intel.com/ (local) All errors (new ones prefixed by >>): /usr/bin/ld: net/ethtool/common.o: in function `__ethtool_get_eee':
quoted
net/ethtool/common.c:677: undefined reference to `phy_ethtool_get_eee'
/usr/bin/ld: net/ethtool/common.o: in function `__ethtool_set_eee':
quoted
net/ethtool/common.c:696: undefined reference to `phy_ethtool_set_eee'
collect2: error: ld returned 1 exit status
vim +677 net/ethtool/common.c
663
664 int __ethtool_get_eee(struct net_device *dev, struct ethtool_eee *eee)
665 {
666 const struct ethtool_ops *ops = dev->ethtool_ops;
667 struct phy_device *phydev = dev->phydev;
668 int ret;
669
670 if (ops->get_eee)
671 ret = ops->get_eee(dev, eee);
672 else
673 ret = -EOPNOTSUPP;
674
675 if (ret == -EOPNOTSUPP) {
676 if (phydev && phydev->is_smart_eee_phy)
> 677 ret = phy_ethtool_get_eee(phydev, eee);
678 }
679
680 return ret;
681 }
682
683 int __ethtool_set_eee(struct net_device *dev, struct ethtool_eee *eee)
684 {
685 const struct ethtool_ops *ops = dev->ethtool_ops;
686 struct phy_device *phydev = dev->phydev;
687 int ret;
688
689 if (ops->set_eee)
690 ret = ops->set_eee(dev, eee);
691 else
692 ret = -EOPNOTSUPP;
693
694 if (ret == -EOPNOTSUPP) {
695 if (phydev && phydev->is_smart_eee_phy)
> 696 ret = phy_ethtool_set_eee(phydev, eee);
697 }
698
699 return ret;
700 }
701
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests