net: phy: probe the PHY before determining the supported features

We will soon support asking the PHY at runtime to determine what
features it supports, rather than forcing it to be compile time.
But we should probe the PHY first. So probe the phy driver earlier.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Andrew Lunn 2019-02-09 14:46:30 +01:00 committed by David S. Miller
parent 50684da742
commit 92ed2eb7f4
1 changed files with 13 additions and 11 deletions

View File

@ -2220,6 +2220,18 @@ static int phy_probe(struct device *dev)
mutex_lock(&phydev->lock);
if (phydev->drv->probe) {
/* Deassert the reset signal */
phy_device_reset(phydev, 0);
err = phydev->drv->probe(phydev);
if (err) {
/* Assert the reset signal */
phy_device_reset(phydev, 1);
goto out;
}
}
/* Start out supporting everything. Eventually,
* a controller will attach, and may modify one
* or both of these values
@ -2267,17 +2279,7 @@ static int phy_probe(struct device *dev)
/* Set the state to READY by default */
phydev->state = PHY_READY;
if (phydev->drv->probe) {
/* Deassert the reset signal */
phy_device_reset(phydev, 0);
err = phydev->drv->probe(phydev);
if (err) {
/* Assert the reset signal */
phy_device_reset(phydev, 1);
}
}
out:
mutex_unlock(&phydev->lock);
return err;