From d397f7c45b0b87a7e1083c57a320c559e7848268 Mon Sep 17 00:00:00 2001 From: Alexandru Gagniuc Date: Fri, 7 Jul 2017 11:36:57 -0700 Subject: net: phy: micrel: Separate KSZ9000 drivers from KSZ8000 drivers The KS8721BL and KSZ9021 PHYs are software-incompatible, yet they share the same ID. Drivers for bothe PHYs cannot safely coexist, so the solution was to use #ifdefs to select between the two drivers. As a result KSZ9031, which has a unique ID, is now caught in the crossfire. Unless CONFIG_PHY_MICREL_KSZ9031 is defined, the KSZ9031 will not function properly, as some essential configuration code is ifdef'd-out. To prevent such situations, move the KSZ9000 drivers to a separate file, and place them under a separate Kconfig option. While it is possible to enable both KSZ8000 and KSZ9000 drivers at the same time, the assumption is that it is highly unlikely for a system to contain both a KSZ8000 and a KSZ9000 PHY, and that only one of the drivers will be enabled at any given time. Signed-off-by: Alexandru Gagniuc Reviewed-by: Philipp Tomsich Acked-by: Joe Hershberger --- include/phy.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'include/phy.h') diff --git a/include/phy.h b/include/phy.h index 4f2094bdf0..a0b1f12317 100644 --- a/include/phy.h +++ b/include/phy.h @@ -266,7 +266,8 @@ int phy_davicom_init(void); int phy_et1011c_init(void); int phy_lxt_init(void); int phy_marvell_init(void); -int phy_micrel_init(void); +int phy_micrel_ksz8xxx_init(void); +int phy_micrel_ksz90x1_init(void); int phy_natsemi_init(void); int phy_realtek_init(void); int phy_smsc_init(void); -- cgit v1.2.3