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 <l...@intel.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-...@lists.01.org
.config.gz
Description: application/gzip