Hi all, This patch series migrates the Broadcom GENET driver to use the mdio-bcm-unimac driver. This MDIO HW is the same as the one GENET internally embedds, yet for historical reasons the two drivers lived their own lives. Because of the GENET interrupt situation, we let it specify how it wants to signal MDIO operations completion using its driver-private waitqueue.
The diffstat is not super impressive, but it's still negative! This would make it easier in the future to absorb possible workarounds/bugs/features within the same location. This was tested on BCM7260 (GENETv5, single instance), BCM7439 (GENETv4, triple instance) and BCM7445 (bcm_sf2 + mdio-bcm-unimac). We also now have a nice /proc/iomem output: f0b00000-f0b0fc4b : /rdb/ethernet@f0b00000 f0b00e14-f0b00e1c : unimac-mdio.0 f0b20000-f0b2fc4b : /rdb/ethernet@f0b20000 f0b20e14-f0b20e1c : unimac-mdio.1 f0b40000-f0b4fc4b : /rdb/ethernet@f0b40000 f0b40e14-f0b40e1c : unimac-mdio.2 Florian Fainelli (7): net: phy: mdio-bcm-unimac: factor busy polling loop net: phy: mdio-bcm-unimac: create unique bus names net: phy: mdio-bcm-unimac: Add debug print for PHY workaround net: phy: mdio-bcm-unimac: Allow specifying platform data net: bcmgenet: utilize generic Broadcom UniMAC MDIO controller driver net: bcmgenet: Drop legacy MDIO code net: bcmgenet: Utilize bcmgenet_mii_exit() for error path MAINTAINERS | 1 + drivers/net/ethernet/broadcom/Kconfig | 1 + drivers/net/ethernet/broadcom/genet/bcmgenet.h | 1 + drivers/net/ethernet/broadcom/genet/bcmmii.c | 256 ++++++++++--------------- drivers/net/phy/mdio-bcm-unimac.c | 71 ++++--- include/linux/platform_data/mdio-bcm-unimac.h | 13 ++ 6 files changed, 163 insertions(+), 180 deletions(-) create mode 100644 include/linux/platform_data/mdio-bcm-unimac.h -- 2.9.3