OSDN Git Service

clk: gemini: Read status before using the value
authorJoel Stanley <joel@jms.id.au>
Thu, 29 Jun 2017 06:01:07 +0000 (15:31 +0930)
committerStephen Boyd <sboyd@codeaurora.org>
Fri, 30 Jun 2017 01:47:35 +0000 (18:47 -0700)
The probe does a shift and mask of val without having read it from the hardware.

Fixes: 846423f96721 ("clk: Add Gemini SoC clock controller")
Signed-off-by: Joel Stanley <joel@jms.id.au>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
drivers/clk/clk-gemini.c

index b82db96..c391a49 100644 (file)
@@ -306,6 +306,7 @@ static int gemini_clk_probe(struct platform_device *pdev)
        gemini_clk_data->hws[GEMINI_CLK_RTC] = hw;
 
        /* CPU clock derived as a fixed ratio from the AHB clock */
+       regmap_read(map, GEMINI_GLOBAL_STATUS, &val);
        val >>= CPU_AHB_RATIO_SHIFT;
        val &= CPU_AHB_RATIO_MASK;
        hw = clk_hw_register_fixed_factor(NULL, "cpu", "ahb", 0,