• Arnd Bergmann's avatar
    of_mdio: select fixed phy support unconditionally · a5e4bd99
    Arnd Bergmann authored
    Calling the fixed-phy functions when CONFIG_FIXED_PHY=m as a previous
    change tried cannot work if the caller is in built-in code:
    
    drivers/of/built-in.o: In function `of_phy_register_fixed_link':
    of_reserved_mem.c:(.text+0x85e0): undefined reference to `fixed_phy_register'
    
    Making of_mdio depend on 'FIXED_PHY || !FIXED_PHY' would solve this
    dependency by enforcing that OF_MDIO itself becomes a loadable module
    when FIXED_PHY=y, but that creates a different dependency as it
    breaks any built-in ethernet driver that uses of_mdio.
    
    Making FIXED_PHY a bool option also cannot work, since it depends on
    PHYLIB, which again is tristate.
    
    This version now uses 'select FIXED_PHY' to ensure that the fixed-phy
    portion of of_mdio is not optional. The main downside of this is
    a small increase in code size for cases that do not need fixed phy
    support, but it should avoid all of the link-time problems.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Fixes: d1bd330a ("of_mdio: Enable fixed PHY support if driver is a module")
    Acked-by: default avatarRandy Dunlap <rdunlap@infradead.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a5e4bd99
Kconfig 2.47 KB