diff options
author | Chen-Yu Tsai <wens@csie.org> | 2014-02-02 20:51:37 -0500 |
---|---|---|
committer | Emilio López <emilio@elopez.com.ar> | 2014-02-02 22:24:32 -0500 |
commit | f64111ebaf6776558f0e60d0ea8c7a9c579b9436 (patch) | |
tree | 9872cf508b43a63a9e93de59e6667a4c09f24e16 | |
parent | 38dbfb59d1175ef458d006556061adeaa8751b72 (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>
-rw-r--r-- | drivers/clk/sunxi/clk-sunxi.c | 6 |
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, |