[PATCH net-next 6/7] net: phy: introduce phy_read_poll_timeout macro

From: Dejin Zheng
Date: Thu Mar 19 2020 - 12:40:16 EST


it is sometimes necessary to poll a phy register by phy_read()
function until its value satisfies some condition. introduce
phy_read_poll_timeout() macros that do this.

Signed-off-by: Dejin Zheng <zhengdejin5@xxxxxxxxx>
---
include/linux/phy.h | 3 +++
1 file changed, 3 insertions(+)

diff --git a/include/linux/phy.h b/include/linux/phy.h
index a30e9008647f..a28cc16fdaac 100644
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
@@ -714,6 +714,9 @@ static inline int phy_read(struct phy_device *phydev, u32 regnum)
return mdiobus_read(phydev->mdio.bus, phydev->mdio.addr, regnum);
}

+#define phy_read_poll_timeout(val, cond, sleep_us, timeout_us, args...) \
+ read_poll_timeout(phy_read, val, cond, sleep_us, timeout_us, args)
+
/**
* __phy_read - convenience function for reading a given PHY register
* @phydev: the phy_device struct
--
2.25.0