• Bartosz Golaszewski's avatar
    net: phy: add a Kconfig option for mdio_devres · 1814cff2
    Bartosz Golaszewski authored
    If phylib is built as a module and CONFIG_MDIO_DEVICE is 'y', the
    mdio_device and mdio_bus code will be in the phylib module, not in the
    kernel image. Meanwhile we build mdio_devres depending on the
    CONFIG_MDIO_DEVICE symbol, so if it's 'y', it will go into the kernel
    and we'll hit the following linker error:
    
       ld: drivers/net/phy/mdio_devres.o: in function `devm_mdiobus_alloc_size':
    >> drivers/net/phy/mdio_devres.c:38: undefined reference to `mdiobus_alloc_size'
       ld: drivers/net/phy/mdio_devres.o: in function `devm_mdiobus_free':
    >> drivers/net/phy/mdio_devres.c:16: undefined reference to `mdiobus_free'
       ld: drivers/net/phy/mdio_devres.o: in function `__devm_mdiobus_register':
    >> drivers/net/phy/mdio_devres.c:87: undefined reference to `__mdiobus_register'
       ld: drivers/net/phy/mdio_devres.o: in function `devm_mdiobus_unregister':
    >> drivers/net/phy/mdio_devres.c:53: undefined reference to `mdiobus_unregister'
       ld: drivers/net/phy/mdio_devres.o: in function `devm_of_mdiobus_register':
    >> drivers/net/phy/mdio_devres.c:120: undefined reference to `of_mdiobus_register'
    
    Add a hidden Kconfig option for MDIO_DEVRES which will be currently
    selected by CONFIG_PHYLIB as there are no non-phylib users of these
    helpers.
    Reported-by: default avatarkernel test robot <lkp@intel.com>
    Fixes: ac3a68d5 ("net: phy: don't abuse devres in devm_mdiobus_register()")
    Signed-off-by: default avatarBartosz Golaszewski <bgolaszewski@baylibre.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    1814cff2
Kconfig 15 KB