mirror of https://gitee.com/openkylin/linux.git
net: phy: marvell10g: use phy_read_mmd_poll_timeout() to simplify the code
use phy_read_mmd_poll_timeout() to replace the poll codes for simplify mv3310_reset() function. Suggested-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Dejin Zheng <zhengdejin5@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9c6464dcff
commit
8964a2174f
|
@ -241,22 +241,17 @@ static int mv3310_power_up(struct phy_device *phydev)
|
|||
|
||||
static int mv3310_reset(struct phy_device *phydev, u32 unit)
|
||||
{
|
||||
int retries, val, err;
|
||||
int val, err;
|
||||
|
||||
err = phy_modify_mmd(phydev, MDIO_MMD_PCS, unit + MDIO_CTRL1,
|
||||
MDIO_CTRL1_RESET, MDIO_CTRL1_RESET);
|
||||
if (err < 0)
|
||||
return err;
|
||||
|
||||
retries = 20;
|
||||
do {
|
||||
msleep(5);
|
||||
val = phy_read_mmd(phydev, MDIO_MMD_PCS, unit + MDIO_CTRL1);
|
||||
if (val < 0)
|
||||
return val;
|
||||
} while (val & MDIO_CTRL1_RESET && --retries);
|
||||
|
||||
return val & MDIO_CTRL1_RESET ? -ETIMEDOUT : 0;
|
||||
return phy_read_mmd_poll_timeout(phydev, MDIO_MMD_PCS,
|
||||
unit + MDIO_CTRL1, val,
|
||||
!(val & MDIO_CTRL1_RESET),
|
||||
5000, 100000, true);
|
||||
}
|
||||
|
||||
static int mv3310_get_edpd(struct phy_device *phydev, u16 *edpd)
|
||||
|
|
Loading…
Reference in New Issue