[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202007260722.pYenTwhL%lkp@intel.com>
Date: Sun, 26 Jul 2020 07:36:52 +0800
From: kernel test robot <lkp@...el.com>
To: Andre Edich <andre.edich@...rochip.com>, netdev@...r.kernel.org,
UNGLinuxDriver@...rochip.com, steve.glendinning@...well.net
Cc: kbuild-all@...ts.01.org, Parthiban.Veerasooran@...rochip.com,
Andre Edich <andre.edich@...rochip.com>
Subject: Re: [PATCH net-next v2 6/6] smsc95xx: use PHY framework instead of
MII library
Hi Andre,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on net-next/master]
url: https://github.com/0day-ci/linux/commits/Andre-Edich/Add-PAL-support-to-smsc95xx/20200723-195824
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 7fc3b978a8971305d456b32d3f2ac13191f5a0d7
config: x86_64-randconfig-a016-20200724 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce (this is a W=1 build):
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>
All errors (new ones prefixed by >>):
ld: drivers/net/usb/smsc95xx.o: in function `smsc95xx_disconnect_phy':
drivers/net/usb/smsc95xx.c:1320: undefined reference to `phy_stop'
ld: drivers/net/usb/smsc95xx.c:1321: undefined reference to `phy_disconnect'
ld: drivers/net/usb/smsc95xx.o: in function `smsc95xx_unbind':
drivers/net/usb/smsc95xx.c:1284: undefined reference to `mdiobus_unregister'
ld: drivers/net/usb/smsc95xx.c:1285: undefined reference to `mdiobus_free'
ld: drivers/net/usb/smsc95xx.o: in function `phy_read':
include/linux/phy.h:804: undefined reference to `mdiobus_read'
ld: drivers/net/usb/smsc95xx.o: in function `phy_write':
include/linux/phy.h:844: undefined reference to `mdiobus_write'
ld: drivers/net/usb/smsc95xx.o: in function `phy_read':
include/linux/phy.h:804: undefined reference to `mdiobus_read'
ld: drivers/net/usb/smsc95xx.o: in function `phy_write':
include/linux/phy.h:844: undefined reference to `mdiobus_write'
ld: drivers/net/usb/smsc95xx.o: in function `phy_read':
include/linux/phy.h:804: undefined reference to `mdiobus_read'
ld: drivers/net/usb/smsc95xx.o: in function `phy_write':
include/linux/phy.h:844: undefined reference to `mdiobus_write'
ld: drivers/net/usb/smsc95xx.o: in function `phy_read':
include/linux/phy.h:804: undefined reference to `mdiobus_read'
ld: drivers/net/usb/smsc95xx.o: in function `phy_write':
include/linux/phy.h:844: undefined reference to `mdiobus_write'
ld: drivers/net/usb/smsc95xx.o: in function `smsc95xx_get_link_ksettings':
>> drivers/net/usb/smsc95xx.c:815: undefined reference to `phy_ethtool_get_link_ksettings'
ld: drivers/net/usb/smsc95xx.o: in function `phy_read_status':
>> include/linux/phy.h:1402: undefined reference to `genphy_read_status'
ld: drivers/net/usb/smsc95xx.o: in function `phy_read':
include/linux/phy.h:804: undefined reference to `mdiobus_read'
ld: drivers/net/usb/smsc95xx.o: in function `phy_write':
include/linux/phy.h:844: undefined reference to `mdiobus_write'
ld: drivers/net/usb/smsc95xx.o: in function `smsc95xx_link_reset':
>> drivers/net/usb/smsc95xx.c:582: undefined reference to `phy_ethtool_ksettings_get'
ld: drivers/net/usb/smsc95xx.o: in function `phy_read':
include/linux/phy.h:804: undefined reference to `mdiobus_read'
ld: include/linux/phy.h:804: undefined reference to `mdiobus_read'
ld: drivers/net/usb/smsc95xx.o: in function `smsc95xx_start_phy':
drivers/net/usb/smsc95xx.c:1305: undefined reference to `phy_connect_direct'
ld: drivers/net/usb/smsc95xx.c:1313: undefined reference to `phy_attached_info'
ld: drivers/net/usb/smsc95xx.c:1314: undefined reference to `phy_start'
ld: drivers/net/usb/smsc95xx.o: in function `smsc95xx_resume':
drivers/net/usb/smsc95xx.c:1869: undefined reference to `phy_init_hw'
ld: drivers/net/usb/smsc95xx.o: in function `smsc95xx_handle_link_change':
drivers/net/usb/smsc95xx.c:1292: undefined reference to `phy_print_status'
ld: drivers/net/usb/smsc95xx.o: in function `smsc95xx_set_link_ksettings':
>> drivers/net/usb/smsc95xx.c:832: undefined reference to `phy_ethtool_set_link_ksettings'
ld: drivers/net/usb/smsc95xx.o: in function `smsc95xx_ioctl':
>> drivers/net/usb/smsc95xx.c:864: undefined reference to `phy_mii_ioctl'
>> ld: drivers/net/usb/smsc95xx.o:(.rodata+0x22e0): undefined reference to `phy_ethtool_nway_reset'
ld: drivers/net/usb/smsc95xx.o: in function `mdiobus_alloc':
include/linux/phy.h:318: undefined reference to `mdiobus_alloc_size'
ld: drivers/net/usb/smsc95xx.o: in function `smsc95xx_bind':
drivers/net/usb/smsc95xx.c:1229: undefined reference to `__mdiobus_register'
ld: drivers/net/usb/smsc95xx.c:1235: undefined reference to `phy_find_first'
ld: drivers/net/usb/smsc95xx.o: in function `phy_read':
include/linux/phy.h:804: undefined reference to `mdiobus_read'
ld: drivers/net/usb/smsc95xx.o: in function `smsc95xx_bind':
drivers/net/usb/smsc95xx.c:1270: undefined reference to `mdiobus_unregister'
ld: drivers/net/usb/smsc95xx.c:1273: undefined reference to `mdiobus_free'
vim +815 drivers/net/usb/smsc95xx.c
807
808 static int smsc95xx_get_link_ksettings(struct net_device *net,
809 struct ethtool_link_ksettings *cmd)
810 {
811 struct usbnet *dev = netdev_priv(net);
812 struct smsc95xx_priv *pdata = dev->driver_priv;
813 int retval;
814
> 815 retval = phy_ethtool_get_link_ksettings(net, cmd);
816 if (pdata->internal_phy) {
817 cmd->base.eth_tp_mdix = pdata->mdix_ctrl;
818 cmd->base.eth_tp_mdix_ctrl = pdata->mdix_ctrl;
819 }
820 return retval;
821 }
822
823 static int smsc95xx_set_link_ksettings(struct net_device *net,
824 const struct ethtool_link_ksettings *cmd)
825 {
826 struct usbnet *dev = netdev_priv(net);
827 struct smsc95xx_priv *pdata = dev->driver_priv;
828 u8 mdix_ctrl = cmd->base.eth_tp_mdix_ctrl;
829
830 if (pdata->mdix_ctrl != mdix_ctrl && pdata->internal_phy)
831 set_mdix_status(net, mdix_ctrl);
> 832 return phy_ethtool_set_link_ksettings(net, cmd);
833 }
834
835 static u32 smsc95xx_get_link(struct net_device *net)
836 {
837 phy_read_status(net->phydev);
838 return net->phydev->link;
839 }
840
841 static const struct ethtool_ops smsc95xx_ethtool_ops = {
842 .get_link = smsc95xx_get_link,
843 .nway_reset = phy_ethtool_nway_reset,
844 .get_drvinfo = usbnet_get_drvinfo,
845 .get_msglevel = usbnet_get_msglevel,
846 .set_msglevel = usbnet_set_msglevel,
847 .get_eeprom_len = smsc95xx_ethtool_get_eeprom_len,
848 .get_eeprom = smsc95xx_ethtool_get_eeprom,
849 .set_eeprom = smsc95xx_ethtool_set_eeprom,
850 .get_regs_len = smsc95xx_ethtool_getregslen,
851 .get_regs = smsc95xx_ethtool_getregs,
852 .get_wol = smsc95xx_ethtool_get_wol,
853 .set_wol = smsc95xx_ethtool_set_wol,
854 .get_link_ksettings = smsc95xx_get_link_ksettings,
855 .set_link_ksettings = smsc95xx_set_link_ksettings,
856 .get_ts_info = ethtool_op_get_ts_info,
857 };
858
859 static int smsc95xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd)
860 {
861 if (!netif_running(netdev))
862 return -EINVAL;
863
> 864 return phy_mii_ioctl(netdev->phydev, rq, cmd);
865 }
866
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Download attachment ".config.gz" of type "application/gzip" (38364 bytes)
Powered by blists - more mailing lists