summaryrefslogtreecommitdiff
path: root/drivers/clk/microchip/clk-core.c
diff options
context:
space:
mode:
authorPurna Chandra Mandal <purna.mandal@microchip.com>2016-05-17 10:35:50 +0530
committerStephen Boyd <sboyd@codeaurora.org>2016-08-24 16:05:23 -0700
commit12f53b2432ad1a2a3f09cf9b772a467b2f20e040 (patch)
tree8e544e1ba829378b980d25171c9e39842f1fa81f /drivers/clk/microchip/clk-core.c
parent49abf69fb9372805b962707ceb3dfb913e9f54e5 (diff)
clk: microchip: use readl_poll_timeout() in pbclk_set_rate().
pbclk_set_rate() is using readl_poll_timeout_atomic() even though spinlock is released. Fix it by replacing with readl_poll_timeout(). Signed-off-by: Purna Chandra Mandal <purna.mandal@microchip.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Diffstat (limited to 'drivers/clk/microchip/clk-core.c')
-rw-r--r--drivers/clk/microchip/clk-core.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/clk/microchip/clk-core.c b/drivers/clk/microchip/clk-core.c
index ca85cea17839..c3b301463425 100644
--- a/drivers/clk/microchip/clk-core.c
+++ b/drivers/clk/microchip/clk-core.c
@@ -199,9 +199,9 @@ static int pbclk_set_rate(struct clk_hw *hw, unsigned long rate,
spin_unlock_irqrestore(&pb->core->reg_lock, flags);
- /* wait again, for pbdivready */
- err = readl_poll_timeout_atomic(pb->ctrl_reg, v, v & PB_DIV_READY,
- 1, LOCK_TIMEOUT_US);
+ /* wait again for DIV_READY */
+ err = readl_poll_timeout(pb->ctrl_reg, v, v & PB_DIV_READY,
+ 1, LOCK_TIMEOUT_US);
if (err)
return err;