From: Purna Chandra Mandal Date: Tue, 17 May 2016 05:05:50 +0000 (+0530) Subject: clk: microchip: use readl_poll_timeout() in pbclk_set_rate(). X-Git-Tag: v5.15~12775^2~96 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=12f53b2432ad1a2a3f09cf9b772a467b2f20e040;p=platform%2Fkernel%2Flinux-starfive.git 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 Signed-off-by: Stephen Boyd --- diff --git a/drivers/clk/microchip/clk-core.c b/drivers/clk/microchip/clk-core.c index ca85cea..c3b3014 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;