]> git.baikalelectronics.ru Git - kernel.git/commit
of_mdio: select fixed phy support unconditionally
authorArnd Bergmann <arnd@arndb.de>
Fri, 24 Jun 2016 09:24:08 +0000 (11:24 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 28 Jun 2016 09:47:52 +0000 (05:47 -0400)
commit6b62eb40f08adc5cb46a13bc7068b44af5812074
treee427d46b7060163c55e6627bfc0e982df454651b
parent1aa72b0fa122a7f04c6b567cb8f0cefd97eff0e9
of_mdio: select fixed phy support unconditionally

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: Arnd Bergmann <arnd@arndb.de>
Fixes: e9b8af3762e6 ("of_mdio: Enable fixed PHY support if driver is a module")
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/of/Kconfig
drivers/of/of_mdio.c
include/linux/of_mdio.h