diff options
author | Emilio López <emilio@elopez.com.ar> | 2013-12-23 03:32:40 (GMT) |
---|---|---|
committer | Emilio López <emilio@elopez.com.ar> | 2013-12-28 20:08:25 (GMT) |
commit | 76192dc8873f724361c1bf8a90b37abc7dfed7ad (patch) | |
tree | 9cdae88195f079955485df8fc290a955f5a97bb1 | |
parent | 7551769a225f3e600d6455e63ae00d51df37ff59 (diff) | |
download | linux-76192dc8873f724361c1bf8a90b37abc7dfed7ad.tar.xz |
clk: sunxi: support better factor DT nodes
The DT nodes should look like
abc_clk: clk@deadbeef {
...
clock-output-names = "abc";
}
But our old DT nodes look like
abc: abc@deadbeef {
...
}
So, let's support both formats, until we can transition everything
to the new, correct one.
Signed-off-by: Emilio López <emilio@elopez.com.ar>
Acked-by: Mike Turquette <mturquette@linaro.org>
-rw-r--r-- | drivers/clk/sunxi/clk-sunxi.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c index 75fbc48..124113e 100644 --- a/drivers/clk/sunxi/clk-sunxi.c +++ b/drivers/clk/sunxi/clk-sunxi.c @@ -441,6 +441,15 @@ static struct clk * __init sunxi_factors_clk_setup(struct device_node *node, (parents[i] = of_clk_get_parent_name(node, i)) != NULL) i++; + /* Nodes should be providing the name via clock-output-names + * but originally our dts didn't, and so we used node->name. + * The new, better nodes look like clk@deadbeef, so we pull the + * name just in this case */ + if (!strcmp("clk", clk_name)) { + of_property_read_string_index(node, "clock-output-names", + 0, &clk_name); + } + factors = kzalloc(sizeof(struct clk_factors), GFP_KERNEL); if (!factors) return NULL; |