]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
clk: divider: Fix clk_divider_round_rate() to use clk_readl()
authorGeert Uytterhoeven <geert+renesas@glider.be>
Fri, 12 Aug 2016 12:37:54 +0000 (14:37 +0200)
committerBen Hutchings <ben@decadent.org.uk>
Thu, 23 Feb 2017 03:53:55 +0000 (03:53 +0000)
commit 2cf9a57811bddb6fa6b0f8d7376da164d5534813 upstream.

clk-divider uses clk_readl()/clk_writel() everywhere, except in
clk_divider_round_rate(), where plain readl() is used. Change this to
clk_readl(), as it makes a difference on powerpc.

Fixes: e6d5e7d90be92cee ("clk-divider: Fix READ_ONLY when divider > 1")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: James Hogan <james.hogan@imgtec.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
[bwh: Backported to 3.16: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/clk/clk-divider.c

index a52154caf526b560cb055f05ecc7f7e3d44c4932..ff91b6cceff6e8659ee6c0a619fa030333383048 100644 (file)
@@ -263,7 +263,7 @@ static int clk_divider_bestdiv(struct clk_hw *hw, unsigned long rate,
 
        /* if read only, just return current value */
        if (divider->flags & CLK_DIVIDER_READ_ONLY) {
-               bestdiv = readl(divider->reg) >> divider->shift;
+               bestdiv = clk_readl(divider->reg) >> divider->shift;
                bestdiv &= div_mask(divider);
                bestdiv = _get_div(divider, bestdiv);
                return bestdiv;