]> git.baikalelectronics.ru Git - kernel.git/commitdiff
net: phy: mscc: fix PHYs using the vsc8574_probe
authorAntoine Tenart <antoine.tenart@bootlin.com>
Fri, 29 May 2020 09:49:09 +0000 (11:49 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 29 May 2020 19:44:27 +0000 (12:44 -0700)
PHYs using the vsc8574_probe fail to be initialized and their
config_init return -EIO leading to errors like:
"could not attach PHY: -5".

This is because when the conversion of the MSCC PHY driver to use the
shared PHY package helpers was done, the base address retrieval and the
base PHY read and write helpers in the driver were modified. In
particular, the base address retrieval logic was moved from the
config_init to the probe. But the vsc8574_probe was forgotten. This
patch fixes it.

Fixes: fe3ed5daf7c9 ("net: phy: mscc: use phy_package_shared")
Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
Reviewed-by: Michael Walle <michael@walle.cc>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/mscc/mscc_main.c

index 550acf547ced8cea06eaf37631d8753f53ddb20c..7ed0285206d0a3c6e9ed33fce900fede567846ed 100644 (file)
@@ -1977,6 +1977,10 @@ static int vsc8574_probe(struct phy_device *phydev)
 
        phydev->priv = vsc8531;
 
+       vsc8584_get_base_addr(phydev);
+       devm_phy_package_join(&phydev->mdio.dev, phydev,
+                             vsc8531->base_addr, 0);
+
        vsc8531->nleds = 4;
        vsc8531->supp_led_modes = VSC8584_SUPP_LED_MODES;
        vsc8531->hw_stats = vsc8584_hw_stats;