175f115cea879088e5d2798ecac7615d9791e932
[openwrt/openwrt.git] / target / linux / sunxi / patches-3.13 / 121-clk-sunxi-better-factor-dt-nodes.patch
1 From 7d47b009bf287bf5e0817f47c40e32b7ec0e8151 Mon Sep 17 00:00:00 2001
2 From: =?UTF-8?q?Emilio=20L=C3=B3pez?= <emilio@elopez.com.ar>
3 Date: Mon, 23 Dec 2013 00:32:40 -0300
4 Subject: [PATCH] clk: sunxi: support better factor DT nodes
5 MIME-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8
9 The DT nodes should look like
10
11 abc_clk: clk@deadbeef {
12 ...
13 clock-output-names = "abc";
14 }
15
16 But our old DT nodes look like
17
18 abc: abc@deadbeef {
19 ...
20 }
21
22 So, let's support both formats, until we can transition everything
23 to the new, correct one.
24
25 Signed-off-by: Emilio López <emilio@elopez.com.ar>
26 ---
27 drivers/clk/sunxi/clk-sunxi.c | 9 +++++++++
28 1 file changed, 9 insertions(+)
29
30 diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
31 index af99b57..81d4c72 100644
32 --- a/drivers/clk/sunxi/clk-sunxi.c
33 +++ b/drivers/clk/sunxi/clk-sunxi.c
34 @@ -441,6 +441,15 @@ static struct clk * __init sunxi_factors_clk_setup(struct device_node *node,
35 (parents[i] = of_clk_get_parent_name(node, i)) != NULL)
36 i++;
37
38 + /* Nodes should be providing the name via clock-output-names
39 + * but originally our dts didn't, and so we used node->name.
40 + * The new, better nodes look like clk@deadbeef, so we pull the
41 + * name just in this case */
42 + if (!strcmp("clk", clk_name)) {
43 + of_property_read_string_index(node, "clock-output-names",
44 + 0, &clk_name);
45 + }
46 +
47 factors = kzalloc(sizeof(struct clk_factors), GFP_KERNEL);
48 if (!factors)
49 return NULL;
50 --
51 1.8.5.1
52