ARM: orion5x: only call into phylib when available
authorArnd Bergmann <arnd@arndb.de>
Tue, 28 Mar 2017 10:15:41 +0000 (12:15 +0200)
committerGregory CLEMENT <gregory.clement@free-electrons.com>
Thu, 30 Mar 2017 15:30:39 +0000 (17:30 +0200)
commitd43e85b7d7c759a01f92fa09bba5d6eb6e406795
treefd4650737a18795b9da90e9c2c64afe1d860f4b6
parentc1ae3cfa0e89fa1a7ecc4c99031f5e9ae99d9201
ARM: orion5x: only call into phylib when available

Board code cannot call mdiobus_register_board_info() when phylib
or mdio_device is a loadable module:

arch/arm/plat-orion/common.o: In function `orion_ge00_switch_init':
:(.init.text+0x474): undefined reference to `mdiobus_register_board_info'

I had a number of ideas for how this could be solved, but after the MDIO
code got split out from PHYLIB it has gotten too hard, so I'm basically
giving up, and only call the mdiobus_register_board_info() function
if the MDIO layer is built-in to avoid the link error. This is similar
to how we handle PHY registration on other ARM platforms.

Fixes: 90eff9096c01 ("net: phy: Allow splitting MDIO bus/device support from PHYs")
Fixes: 648ea0134069 ("net: phy: Allow pre-declaration of MDIO devices")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
arch/arm/mach-orion5x/Kconfig
arch/arm/plat-orion/common.c