clk: sunxi: fix initialization of basic clocks
authorEmilio López <emilio@elopez.com.ar>
Sun, 4 Aug 2013 09:47:29 +0000 (11:47 +0200)
committerMike Turquette <mturquette@linaro.org>
Tue, 27 Aug 2013 23:05:23 +0000 (16:05 -0700)
With the recent move towards CLK_OF_DECLARE(...), the driver stopped
initializing osc32k, which is compatible "fixed-clock". This is because
we never called of_clk_init(NULL). Fix this by moving the only other
simple clock (osc24M) to use CLK_OF_DECLARE(...) and call of_clk_init(NULL)
to initialize both of them.

Signed-off-by: Emilio López <emilio@elopez.com.ar>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
drivers/clk/sunxi/clk-sunxi.c

index 323830465d1337e3fdf6df1d978eebadaf22c889..3bbfca5850fd429092657636898fe95c5fcc741c 100644 (file)
@@ -69,6 +69,7 @@ static void __init sunxi_osc_clk_setup(struct device_node *node)
                clk_register_clkdev(clk, clk_name, NULL);
        }
 }
+CLK_OF_DECLARE(sunxi_osc, "allwinner,sun4i-osc-clk", sunxi_osc_clk_setup);
 
 
 
@@ -411,12 +412,6 @@ static void __init sunxi_gates_clk_setup(struct device_node *node,
        of_clk_add_provider(node, of_clk_src_onecell_get, clk_data);
 }
 
-/* Matches for of_clk_init */
-static const __initconst struct of_device_id clk_match[] = {
-       {.compatible = "allwinner,sun4i-osc-clk", .data = sunxi_osc_clk_setup,},
-       {}
-};
-
 /* Matches for factors clocks */
 static const __initconst struct of_device_id clk_factors_match[] = {
        {.compatible = "allwinner,sun4i-pll1-clk", .data = &pll1_data,},
@@ -468,8 +463,8 @@ static void __init of_sunxi_table_clock_setup(const struct of_device_id *clk_mat
 
 void __init sunxi_init_clocks(void)
 {
-       /* Register all the simple sunxi clocks on DT */
-       of_clk_init(clk_match);
+       /* Register all the simple and basic clocks on DT */
+       of_clk_init(NULL);
 
        /* Register factor clocks */
        of_sunxi_table_clock_setup(clk_factors_match, sunxi_factors_clk_setup);