mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 14:34:27 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.4 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(+)
 | 
						|
 | 
						|
--- a/drivers/clk/sunxi/clk-sunxi.c
 | 
						|
+++ b/drivers/clk/sunxi/clk-sunxi.c
 | 
						|
@@ -441,6 +441,15 @@ static struct clk * __init sunxi_factors
 | 
						|
 	       (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;
 |