aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/clk/sunxi/clk-sunxi.c
diff options
context:
space:
mode:
authorChen-Yu Tsai <wens@csie.org>2014-02-02 20:51:37 -0500
committerEmilio López <emilio@elopez.com.ar>2014-02-02 22:24:32 -0500
commitf64111ebaf6776558f0e60d0ea8c7a9c579b9436 (patch)
tree9872cf508b43a63a9e93de59e6667a4c09f24e16 /drivers/clk/sunxi/clk-sunxi.c
parent38dbfb59d1175ef458d006556061adeaa8751b72 (diff)
clk: sunxi: add clock-output-names dt property support
sunxi clock drivers use dt node name as clock name, but clock nodes should be named clk@X, so the names would be the same. Let the drivers read clock names from dt clock-output-names property. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by: Mike Turquette <mturquette@linaro.org> Signed-off-by: Emilio López <emilio@elopez.com.ar>
Diffstat (limited to 'drivers/clk/sunxi/clk-sunxi.c')
-rw-r--r--drivers/clk/sunxi/clk-sunxi.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
index abb6c5ac8a10..0ed97946c457 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
@@ -51,6 +51,8 @@ static void __init sun4i_osc_clk_setup(struct device_node *node)
51 if (!gate) 51 if (!gate)
52 goto err_free_fixed; 52 goto err_free_fixed;
53 53
54 of_property_read_string(node, "clock-output-names", &clk_name);
55
54 /* set up gate and fixed rate properties */ 56 /* set up gate and fixed rate properties */
55 gate->reg = of_iomap(node, 0); 57 gate->reg = of_iomap(node, 0);
56 gate->bit_idx = SUNXI_OSC24M_GATE; 58 gate->bit_idx = SUNXI_OSC24M_GATE;
@@ -601,6 +603,8 @@ static void __init sunxi_mux_clk_setup(struct device_node *node,
601 (parents[i] = of_clk_get_parent_name(node, i)) != NULL) 603 (parents[i] = of_clk_get_parent_name(node, i)) != NULL)
602 i++; 604 i++;
603 605
606 of_property_read_string(node, "clock-output-names", &clk_name);
607
604 clk = clk_register_mux(NULL, clk_name, parents, i, 608 clk = clk_register_mux(NULL, clk_name, parents, i,
605 CLK_SET_RATE_NO_REPARENT, reg, 609 CLK_SET_RATE_NO_REPARENT, reg,
606 data->shift, SUNXI_MUX_GATE_WIDTH, 610 data->shift, SUNXI_MUX_GATE_WIDTH,
@@ -660,6 +664,8 @@ static void __init sunxi_divider_clk_setup(struct device_node *node,
660 664
661 clk_parent = of_clk_get_parent_name(node, 0); 665 clk_parent = of_clk_get_parent_name(node, 0);
662 666
667 of_property_read_string(node, "clock-output-names", &clk_name);
668
663 clk = clk_register_divider(NULL, clk_name, clk_parent, 0, 669 clk = clk_register_divider(NULL, clk_name, clk_parent, 0,
664 reg, data->shift, data->width, 670 reg, data->shift, data->width,
665 data->pow ? CLK_DIVIDER_POWER_OF_TWO : 0, 671 data->pow ? CLK_DIVIDER_POWER_OF_TWO : 0,