clk: sunxi: move "ahb_sdram" to protected clock list
authorChen-Yu Tsai <wens@csie.org>
Thu, 26 Jun 2014 15:55:40 +0000 (23:55 +0800)
committerMaxime Ripard <maxime.ripard@free-electrons.com>
Fri, 4 Jul 2014 10:05:09 +0000 (12:05 +0200)
With sunxi_gates clocks registered with clkdev, we can use the
protected clocks list to enable the "ahb_sdram" clock, instead
of looking for it and adding CLK_IGNORE_UNUSED inline in the
clock setup code.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
drivers/clk/sunxi/clk-sunxi.c

index e43ed6a6b66098858499c90ff02840a2813eb072..a38c799ddc62bc56320e9f178053fd33f21d66dd 100644 (file)
@@ -870,7 +870,6 @@ static void __init sunxi_gates_clk_setup(struct device_node *node,
        int qty;
        int i = 0;
        int j = 0;
-       int ignore;
 
        reg = of_iomap(node, 0);
 
@@ -891,11 +890,8 @@ static void __init sunxi_gates_clk_setup(struct device_node *node,
                of_property_read_string_index(node, "clock-output-names",
                                              j, &clk_name);
 
-               /* No driver claims this clock, but it should remain gated */
-               ignore = !strcmp("ahb_sdram", clk_name) ? CLK_IGNORE_UNUSED : 0;
-
                clk_data->clks[i] = clk_register_gate(NULL, clk_name,
-                                                     clk_parent, ignore,
+                                                     clk_parent, 0,
                                                      reg + 4 * (i/32), i % 32,
                                                      0, &clk_lock);
                WARN_ON(IS_ERR(clk_data->clks[i]));
@@ -1203,6 +1199,7 @@ static void __init sunxi_init_clocks(const char *clocks[], int nclocks)
 
 static const char *sun4i_a10_critical_clocks[] __initdata = {
        "pll5_ddr",
+       "ahb_sdram",
 };
 
 static void __init sun4i_a10_init_clocks(struct device_node *node)
@@ -1215,6 +1212,7 @@ CLK_OF_DECLARE(sun4i_a10_clk_init, "allwinner,sun4i-a10", sun4i_a10_init_clocks)
 static const char *sun5i_critical_clocks[] __initdata = {
        "mbus",
        "pll5_ddr",
+       "ahb_sdram",
 };
 
 static void __init sun5i_init_clocks(struct device_node *node)