From: Chunfeng Yun Date: Tue, 25 Aug 2020 02:03:04 +0000 (+0800) Subject: phy: phy-bcm-sr-usb: convert to readl_poll_timeout_atomic() X-Git-Tag: v5.10-rc1~125^2~19^2~49 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6f2a721850c4b0291c118bc9acf18199fbf7b9cd;p=thirdparty%2Fkernel%2Flinux.git phy: phy-bcm-sr-usb: 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-3-git-send-email-chunfeng.yun@mediatek.com Signed-off-by: Vinod Koul --- diff --git a/drivers/phy/broadcom/phy-bcm-sr-usb.c b/drivers/phy/broadcom/phy-bcm-sr-usb.c index 77c025a0720ca..c3e99ad174874 100644 --- a/drivers/phy/broadcom/phy-bcm-sr-usb.c +++ b/drivers/phy/broadcom/phy-bcm-sr-usb.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include @@ -109,19 +110,15 @@ static inline void bcm_usb_reg32_setbits(void __iomem *addr, uint32_t set) static int bcm_usb_pll_lock_check(void __iomem *addr, u32 bit) { - int retry; - u32 rd_data; + u32 data; + int ret; - retry = PLL_LOCK_RETRY_COUNT; - do { - rd_data = readl(addr); - if (rd_data & bit) - return 0; - udelay(1); - } while (--retry > 0); + ret = readl_poll_timeout_atomic(addr, data, (data & bit), 1, + PLL_LOCK_RETRY_COUNT); + if (ret) + pr_err("%s: FAIL\n", __func__); - pr_err("%s: FAIL\n", __func__); - return -ETIMEDOUT; + return ret; } static int bcm_usb_ss_phy_init(struct bcm_usb_phy_cfg *phy_cfg)