aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/clk/sunxi
diff options
context:
space:
mode:
authorChen-Yu Tsai <wens@csie.org>2014-06-26 11:55:40 -0400
committerMaxime Ripard <maxime.ripard@free-electrons.com>2014-07-04 06:05:09 -0400
commit70eab199fa39cb78e13d369db55f24a3839b8f9e (patch)
tree87490f5b36481f1cfa09e0481e40767a2ef5267a /drivers/clk/sunxi
parentd14e47056c726de566aa1fa8c3e7a4fd59141091 (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.c8
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
1204static const char *sun4i_a10_critical_clocks[] __initdata = { 1200static const char *sun4i_a10_critical_clocks[] __initdata = {
1205 "pll5_ddr", 1201 "pll5_ddr",
1202 "ahb_sdram",
1206}; 1203};
1207 1204
1208static void __init sun4i_a10_init_clocks(struct device_node *node) 1205static 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)
1215static const char *sun5i_critical_clocks[] __initdata = { 1212static const char *sun5i_critical_clocks[] __initdata = {
1216 "mbus", 1213 "mbus",
1217 "pll5_ddr", 1214 "pll5_ddr",
1215 "ahb_sdram",
1218}; 1216};
1219 1217
1220static void __init sun5i_init_clocks(struct device_node *node) 1218static void __init sun5i_init_clocks(struct device_node *node)