diff options
author | Chunfeng Yun <chunfeng.yun@mediatek.com> | 2020-09-21 14:13:32 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-09-25 16:30:05 +0200 |
commit | a3e20fbd9039c34bd46953d72b581dee017ddb9c (patch) | |
tree | b53689dd1618c74fa26f958d0c75a71d61c04977 | |
parent | 08305b45a404e8f0da7a9e6bf410e391fb4bb185 (diff) |
usb: phy-ulpi-viewport: convert to readl_poll_timeout_atomic()
Use readl_poll_timeout_atomic() to simplify code
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Link: https://lore.kernel.org/r/1600668815-12135-8-git-send-email-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/usb/phy/phy-ulpi-viewport.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/usb/phy/phy-ulpi-viewport.c b/drivers/usb/phy/phy-ulpi-viewport.c index 7a14e0e3b635..0f61e328eaef 100644 --- a/drivers/usb/phy/phy-ulpi-viewport.c +++ b/drivers/usb/phy/phy-ulpi-viewport.c @@ -7,6 +7,7 @@ #include <linux/kernel.h> #include <linux/usb.h> #include <linux/io.h> +#include <linux/iopoll.h> #include <linux/usb/otg.h> #include <linux/usb/ulpi.h> @@ -20,16 +21,9 @@ static int ulpi_viewport_wait(void __iomem *view, u32 mask) { - unsigned long usec = 2000; + u32 val; - while (usec--) { - if (!(readl(view) & mask)) - return 0; - - udelay(1); - } - - return -ETIMEDOUT; + return readl_poll_timeout_atomic(view, val, !(val & mask), 1, 2000); } static int ulpi_viewport_read(struct usb_phy *otg, u32 reg) |