Re: [PATCH] net: ethernet: adi: requires PHYLIB support

From: Nuno Sá
Date: Thu Feb 15 2024 - 03:11:01 EST


On Wed, 2024-02-14 at 23:00 -0800, Randy Dunlap wrote:
> This driver uses functions that are supplied by the Kconfig symbol
> PHYLIB, so select it to ensure that they are built as needed.
>
> When CONFIG_ADIN1110=y and CONFIG_PHYLIB=m, there are multiple build
> (linker) errors that are resolved by this Kconfig change:
>
>    ld: drivers/net/ethernet/adi/adin1110.o: in function `adin1110_net_open':
>    drivers/net/ethernet/adi/adin1110.c:933: undefined reference to `phy_start'
>    ld: drivers/net/ethernet/adi/adin1110.o: in function `adin1110_probe_netdevs':
>    drivers/net/ethernet/adi/adin1110.c:1603: undefined reference to
> `get_phy_device'
>    ld: drivers/net/ethernet/adi/adin1110.c:1609: undefined reference to
> `phy_connect'
>    ld: drivers/net/ethernet/adi/adin1110.o: in function `adin1110_disconnect_phy':
>    drivers/net/ethernet/adi/adin1110.c:1226: undefined reference to
> `phy_disconnect'
>    ld: drivers/net/ethernet/adi/adin1110.o: in function `devm_mdiobus_alloc':
>    include/linux/phy.h:455: undefined reference to `devm_mdiobus_alloc_size'
>    ld: drivers/net/ethernet/adi/adin1110.o: in function
> `adin1110_register_mdiobus':
>    drivers/net/ethernet/adi/adin1110.c:529: undefined reference to
> `__devm_mdiobus_register'
>    ld: drivers/net/ethernet/adi/adin1110.o: in function `adin1110_net_stop':
>    drivers/net/ethernet/adi/adin1110.c:958: undefined reference to `phy_stop'
>    ld: drivers/net/ethernet/adi/adin1110.o: in function `adin1110_disconnect_phy':
>    drivers/net/ethernet/adi/adin1110.c:1226: undefined reference to
> `phy_disconnect'
>    ld: drivers/net/ethernet/adi/adin1110.o: in function `adin1110_adjust_link':
>    drivers/net/ethernet/adi/adin1110.c:1077: undefined reference to
> `phy_print_status'
>    ld: drivers/net/ethernet/adi/adin1110.o: in function `adin1110_ioctl':
>    drivers/net/ethernet/adi/adin1110.c:790: undefined reference to `phy_do_ioctl'
>    ld: drivers/net/ethernet/adi/adin1110.o:(.rodata+0xf60): undefined reference to
> `phy_ethtool_get_link_ksettings'
>    ld: drivers/net/ethernet/adi/adin1110.o:(.rodata+0xf68): undefined reference to
> `phy_ethtool_set_link_ksettings'
>
> Fixes: bc93e19d088b ("net: ethernet: adi: Add ADIN1110 support")
> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Closes: https://lore.kernel.org/oe-kbuild-all/202402070626.eZsfVHG5-lkp@xxxxxxxxx/
> Cc: Lennart Franzen <lennart@xxxxxxxxxxxx>
> Cc: Alexandru Tachici <alexandru.tachici@xxxxxxxxxx>
> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
> Cc: Eric Dumazet <edumazet@xxxxxxxxxx>
> Cc: Jakub Kicinski <kuba@xxxxxxxxxx>
> Cc: Paolo Abeni <pabeni@xxxxxxxxxx>
> Cc: netdev@xxxxxxxxxxxxxxx
> ---

Reviewed-by: Nuno Sa <nuno.sa@xxxxxxxxxx>


>  drivers/net/ethernet/adi/Kconfig |    1 +
>  1 file changed, 1 insertion(+)
>
> diff -- a/drivers/net/ethernet/adi/Kconfig b/drivers/net/ethernet/adi/Kconfig
> --- a/drivers/net/ethernet/adi/Kconfig
> +++ b/drivers/net/ethernet/adi/Kconfig
> @@ -7,6 +7,7 @@ config NET_VENDOR_ADI
>   bool "Analog Devices devices"
>   default y
>   depends on SPI
> + select PHYLIB
>   help
>     If you have a network (Ethernet) card belonging to this class, say Y.
>