Messages in this thread Patch in this message | | | From | Dejin Zheng <> | Subject | [PATCH net-next 4/7] net: phy: bcm84881: use phy_read_mmd_poll_timeout() to simplify the code | Date | Fri, 20 Mar 2020 00:39:07 +0800 |
| |
use phy_read_mmd_poll_timeout() to replace the poll codes for simplify the code in bcm84881_wait_init() function.
Signed-off-by: Dejin Zheng <zhengdejin5@gmail.com> --- drivers/net/phy/bcm84881.c | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-)
diff --git a/drivers/net/phy/bcm84881.c b/drivers/net/phy/bcm84881.c index 14d55a77eb28..c916bd0f6afa 100644 --- a/drivers/net/phy/bcm84881.c +++ b/drivers/net/phy/bcm84881.c @@ -22,26 +22,14 @@ enum { static int bcm84881_wait_init(struct phy_device *phydev) { - unsigned int tries = 20; int ret, val; - do { - val = phy_read_mmd(phydev, MDIO_MMD_PMAPMD, MDIO_CTRL1); - if (val < 0) { - ret = val; - break; - } - if (!(val & MDIO_CTRL1_RESET)) { - ret = 0; - break; - } - if (!--tries) { - ret = -ETIMEDOUT; - break; - } - msleep(100); - } while (1); - + ret = phy_read_mmd_poll_timeout(val, val < 0 || + !(val & MDIO_CTRL1_RESET), 100000, + 2000000, phydev, MDIO_MMD_PMAPMD, + MDIO_CTRL1); + if (val < 0) + ret = val; if (ret) phydev_err(phydev, "%s failed: %d\n", __func__, ret); -- 2.25.0
| |