53 lines
1.5 KiB
Diff
53 lines
1.5 KiB
Diff
|
From 7d47b009bf287bf5e0817f47c40e32b7ec0e8151 Mon Sep 17 00:00:00 2001
|
||
|
From: =?UTF-8?q?Emilio=20L=C3=B3pez?= <emilio@elopez.com.ar>
|
||
|
Date: Mon, 23 Dec 2013 00:32:40 -0300
|
||
|
Subject: [PATCH] clk: sunxi: support better factor DT nodes
|
||
|
MIME-Version: 1.0
|
||
|
Content-Type: text/plain; charset=UTF-8
|
||
|
Content-Transfer-Encoding: 8bit
|
||
|
|
||
|
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>
|
||
|
---
|
||
|
drivers/clk/sunxi/clk-sunxi.c | 9 +++++++++
|
||
|
1 file changed, 9 insertions(+)
|
||
|
|
||
|
diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
|
||
|
index af99b57..81d4c72 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;
|
||
|
--
|
||
|
1.8.5.1
|
||
|
|