diff options
author | Chen-Yu Tsai <wens@csie.org> | 2014-06-26 11:55:40 -0400 |
---|---|---|
committer | Maxime Ripard <maxime.ripard@free-electrons.com> | 2014-07-04 06:05:09 -0400 |
commit | 70eab199fa39cb78e13d369db55f24a3839b8f9e (patch) | |
tree | 87490f5b36481f1cfa09e0481e40767a2ef5267a /drivers/clk/sunxi | |
parent | d14e47056c726de566aa1fa8c3e7a4fd59141091 (diff) |
clk: sunxi: move "ahb_sdram" to protected clock list
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>
Diffstat (limited to 'drivers/clk/sunxi')
-rw-r--r-- | drivers/clk/sunxi/clk-sunxi.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c index e43ed6a6b660..a38c799ddc62 100644 --- a/drivers/clk/sunxi/clk-sunxi.c +++ b/drivers/clk/sunxi/clk-sunxi.c | |||
@@ -870,7 +870,6 @@ static void __init sunxi_gates_clk_setup(struct device_node *node, | |||
870 | int qty; | 870 | int qty; |
871 | int i = 0; | 871 | int i = 0; |
872 | int j = 0; | 872 | int j = 0; |
873 | int ignore; | ||
874 | 873 | ||
875 | reg = of_iomap(node, 0); | 874 | reg = of_iomap(node, 0); |
876 | 875 | ||
@@ -891,11 +890,8 @@ static void __init sunxi_gates_clk_setup(struct device_node *node, | |||
891 | of_property_read_string_index(node, "clock-output-names", | 890 | of_property_read_string_index(node, "clock-output-names", |
892 | j, &clk_name); | 891 | j, &clk_name); |
893 | 892 | ||
894 | /* No driver claims this clock, but it should remain gated */ | ||
895 | ignore = !strcmp("ahb_sdram", clk_name) ? CLK_IGNORE_UNUSED : 0; | ||
896 | |||
897 | clk_data->clks[i] = clk_register_gate(NULL, clk_name, | 893 | clk_data->clks[i] = clk_register_gate(NULL, clk_name, |
898 | clk_parent, ignore, | 894 | clk_parent, 0, |
899 | reg + 4 * (i/32), i % 32, | 895 | reg + 4 * (i/32), i % 32, |
900 | 0, &clk_lock); | 896 | 0, &clk_lock); |
901 | WARN_ON(IS_ERR(clk_data->clks[i])); | 897 | WARN_ON(IS_ERR(clk_data->clks[i])); |
@@ -1203,6 +1199,7 @@ static void __init sunxi_init_clocks(const char *clocks[], int nclocks) | |||
1203 | 1199 | ||
1204 | static const char *sun4i_a10_critical_clocks[] __initdata = { | 1200 | static const char *sun4i_a10_critical_clocks[] __initdata = { |
1205 | "pll5_ddr", | 1201 | "pll5_ddr", |
1202 | "ahb_sdram", | ||
1206 | }; | 1203 | }; |
1207 | 1204 | ||
1208 | static void __init sun4i_a10_init_clocks(struct device_node *node) | 1205 | 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) | |||
1215 | static const char *sun5i_critical_clocks[] __initdata = { | 1212 | static const char *sun5i_critical_clocks[] __initdata = { |
1216 | "mbus", | 1213 | "mbus", |
1217 | "pll5_ddr", | 1214 | "pll5_ddr", |
1215 | "ahb_sdram", | ||
1218 | }; | 1216 | }; |
1219 | 1217 | ||
1220 | static void __init sun5i_init_clocks(struct device_node *node) | 1218 | static void __init sun5i_init_clocks(struct device_node *node) |