From: Chunfeng Yun Date: Tue, 25 Aug 2020 02:03:03 +0000 (+0800) Subject: phy: phy-bcm-ns2-usbdrd: convert to readl_poll_timeout_atomic() X-Git-Tag: v5.10-rc1~125^2~19^2~50 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=01a45633009743ce120be83f6de66830f114b92f;p=thirdparty%2Fkernel%2Flinux.git phy: phy-bcm-ns2-usbdrd: convert to readl_poll_timeout_atomic() Use readl_poll_timeout_atomic() to simplify code Signed-off-by: Chunfeng Yun Link: https://lore.kernel.org/r/1598320987-25518-2-git-send-email-chunfeng.yun@mediatek.com Signed-off-by: Vinod Koul --- diff --git a/drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c b/drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c index 527625912b78e..9630ac127366d 100644 --- a/drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c +++ b/drivers/phy/broadcom/phy-bcm-ns2-usbdrd.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -87,17 +88,11 @@ static const unsigned int usb_extcon_cable[] = { static inline int pll_lock_stat(u32 usb_reg, int reg_mask, struct ns2_phy_driver *driver) { - int retry = PLL_LOCK_RETRY; u32 val; - do { - udelay(1); - val = readl(driver->icfgdrd_regs + usb_reg); - if (val & reg_mask) - return 0; - } while (--retry > 0); - - return -EBUSY; + return readl_poll_timeout_atomic(driver->icfgdrd_regs + usb_reg, + val, (val & reg_mask), 1, + PLL_LOCK_RETRY); } static int ns2_drd_phy_init(struct phy *phy)