net: phy: Allow splitting MDIO bus/device support from PHYs
authorFlorian Fainelli <f.fainelli@gmail.com>
Thu, 23 Mar 2017 17:01:19 +0000 (10:01 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 24 Mar 2017 19:51:05 +0000 (12:51 -0700)
commit90eff9096c01ba90cdae504a6b95ee87fe2556a3
tree2e8b75015ca154e15d796308b3e8c40333dc65f8
parent17487eebaf5799f7a2e78364cc94fb84e37300a2
net: phy: Allow splitting MDIO bus/device support from PHYs

Introduce a new configuration symbol: MDIO_DEVICE which allows building
the MDIO devices and bus code, without pulling in the entire Ethernet
PHY library and devices code.

PHYLIB nows select MDIO_DEVICE and the relevant Makefile files are
updated to reflect that.

When MDIO_DEVICE (MDIO bus/device only) is selected, but not PHYLIB, we
have mdio-bus.ko as a loadable module, and it does not have a
module_exit() function because the safety of removing a bus class is
unclear.

When both MDIO_DEVICE and PHYLIB are enabled, we need to assemble
everything into a common loadable module: libphy.ko because of nasty
circular dependencies between phy.c, phy_device.c and mdio_bus.c which
are really tough to untangle.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/Makefile
drivers/net/phy/Kconfig
drivers/net/phy/Makefile
drivers/net/phy/mdio-boardinfo.c
drivers/net/phy/mdio_bus.c
include/linux/phy.h