Commit 7ae7ad2f authored by Dejin Zheng's avatar Dejin Zheng Committed by David S. Miller
Browse files

net: phy: smsc: use phy_read_poll_timeout() to simplify the code



use phy_read_poll_timeout() to replace the poll codes for
simplify lan87xx_read_status() function.

Suggested-by: default avatarAndrew Lunn <andrew@lunn.ch>
Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarDejin Zheng <zhengdejin5@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 745a237c
Loading
Loading
Loading
Loading
+5 −11
Original line number Diff line number Diff line
@@ -112,8 +112,6 @@ static int lan87xx_read_status(struct phy_device *phydev)
	int err = genphy_read_status(phydev);

	if (!phydev->link && priv->energy_enable) {
		int i;

		/* Disable EDPD to wake up PHY */
		int rc = phy_read(phydev, MII_LAN83C185_CTRL_STATUS);
		if (rc < 0)
@@ -125,15 +123,11 @@ static int lan87xx_read_status(struct phy_device *phydev)
			return rc;

		/* Wait max 640 ms to detect energy */
		for (i = 0; i < 64; i++) {
			/* Sleep to allow link test pulses to be sent */
			msleep(10);
			rc = phy_read(phydev, MII_LAN83C185_CTRL_STATUS);
		phy_read_poll_timeout(phydev, MII_LAN83C185_CTRL_STATUS, rc,
				      rc & MII_LAN83C185_ENERGYON, 10000,
				      640000, true);
		if (rc < 0)
			return rc;
			if (rc & MII_LAN83C185_ENERGYON)
				break;
		}

		/* Re-enable EDPD */
		rc = phy_read(phydev, MII_LAN83C185_CTRL_STATUS);