Messages in this thread Patch in this message | | | From | Dejin Zheng <> | Subject | [PATCH net-next v5 09/10] net: phy: smsc: use phy_read_poll_timeout() to simplify the code | Date | Mon, 23 Mar 2020 01:49:42 +0800 |
| |
use phy_read_poll_timeout() to replace the poll codes for simplify lan87xx_read_status() function.
it should be add msleep(10) before call phy_read_poll_timeout() to keep the code more similar, but it will report that warning, so modify it to msleep(20).
./scripts/checkpatch.pl v5-0009-net-phy-smsc-use-phy_read_poll_timeout-to-simplif.patch WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.rst #42: FILE: drivers/net/phy/smsc.c:126: + msleep(10);
Suggested-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Dejin Zheng <zhengdejin5@gmail.com> --- v4 -> v5: - add msleep before phy_read_poll_timeout() to keep the code more similar v3 -> v4: - add this patch by Andrew's suggestion. Thanks Andrew!
drivers/net/phy/smsc.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-)
diff --git a/drivers/net/phy/smsc.c b/drivers/net/phy/smsc.c index b73298250793..f888523086ed 100644 --- a/drivers/net/phy/smsc.c +++ b/drivers/net/phy/smsc.c @@ -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,12 @@ 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); - if (rc < 0) - return rc; - if (rc & MII_LAN83C185_ENERGYON) - break; - } + msleep(20); + phy_read_poll_timeout(phydev, MII_LAN83C185_CTRL_STATUS, rc, + rc & MII_LAN83C185_ENERGYON, 10000, + 620000); + if (rc < 0) + return rc; /* Re-enable EDPD */ rc = phy_read(phydev, MII_LAN83C185_CTRL_STATUS); -- 2.25.0
| |