clk: ux500: fix bit error
authorLinus Walleij <linus.walleij@linaro.org>
Tue, 27 Nov 2012 19:15:20 +0000 (20:15 +0100)
committerMike Turquette <mturquette@linaro.org>
Tue, 4 Dec 2012 18:33:53 +0000 (10:33 -0800)
This fixes a bit error in the U8500 clock implementation: the
unused p2_pclk12 registered at bit 12 in periphereral group 6
was defined as using bit 11 rather than bit 12.

When walking over and disabling the unused clocks in the tree
at late init time, p2_pclk12 was disabled, by effectively
clearing the but for p2_pclk11 instead of bit 12 as it should
have, thus disabling gpio block 6 and 7.

Reported-by: Lee Jones <lee.jones@linaro.org>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Cc: Philippe Begnic <philippe.begnic@st.com>
Cc: stable@kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
drivers/clk/ux500/u8500_clk.c

index 64877e1588e40c4376bd568a41c0da3ebb5b708f..7d0e0258f204f031617010f623292ee3f16ddb87 100644 (file)
@@ -326,7 +326,7 @@ void u8500_clk_init(void)
        clk_register_clkdev(clk, NULL, "gpioblock1");
 
        clk = clk_reg_prcc_pclk("p2_pclk12", "per2clk", U8500_CLKRST2_BASE,
-                               BIT(11), 0);
+                               BIT(12), 0);
 
        clk = clk_reg_prcc_pclk("p3_pclk0", "per3clk", U8500_CLKRST3_BASE,
                                BIT(0), 0);