mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-04 06:54:27 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			72 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
 | 
						|
--- a/arch/powerpc/platforms/83xx/rbppc.c
 | 
						|
+++ b/arch/powerpc/platforms/83xx/rbppc.c
 | 
						|
@@ -121,21 +121,16 @@ static void __init rbppc_setup_arch(void
 | 
						|
 #endif
 | 
						|
 
 | 
						|
 #ifdef CONFIG_QUICC_ENGINE
 | 
						|
-	np = of_find_node_by_name(np, "par_io");
 | 
						|
-	if (np) {
 | 
						|
-		qe_reset();
 | 
						|
-		par_io_init(np);
 | 
						|
-		of_node_put(np);
 | 
						|
-
 | 
						|
-		np = NULL;
 | 
						|
-		while (1) {
 | 
						|
-			np = of_find_node_by_name(np, "ucc");
 | 
						|
-			if (!np) break;
 | 
						|
+        qe_reset();
 | 
						|
 
 | 
						|
-			par_io_of_config(np);
 | 
						|
-		}
 | 
						|
-	}
 | 
						|
-#endif
 | 
						|
+        if ((np = of_find_node_by_name(NULL, "par_io")) != NULL) {
 | 
						|
+                par_io_init(np);
 | 
						|
+                of_node_put(np);
 | 
						|
+
 | 
						|
+                for (np = NULL; (np = of_find_node_by_name(np, "ucc")) != NULL;)
 | 
						|
+                        par_io_of_config(np);
 | 
						|
+        }
 | 
						|
+#endif 
 | 
						|
 
 | 
						|
 }
 | 
						|
 
 | 
						|
@@ -151,12 +146,16 @@ void __init rbppc_init_IRQ(void)
 | 
						|
 	}
 | 
						|
 
 | 
						|
 #ifdef CONFIG_QUICC_ENGINE
 | 
						|
-	np = of_find_node_by_type(NULL, "qeic");
 | 
						|
-	if (np) {
 | 
						|
-		qe_ic_init(np, 0, qe_ic_cascade_low_ipic, qe_ic_cascade_high_ipic);
 | 
						|
-		of_node_put(np);
 | 
						|
-	}
 | 
						|
-#endif
 | 
						|
+        np = of_find_compatible_node(NULL, NULL, "fsl,qe-ic");
 | 
						|
+        if (!np) {
 | 
						|
+                np = of_find_node_by_type(NULL, "qeic");
 | 
						|
+                if (!np)
 | 
						|
+                        return;
 | 
						|
+        }
 | 
						|
+        qe_ic_init(np, 0, qe_ic_cascade_low_ipic, qe_ic_cascade_high_ipic);
 | 
						|
+        of_node_put(np);
 | 
						|
+#endif                          /* CONFIG_QUICC_ENGINE */
 | 
						|
+
 | 
						|
 }
 | 
						|
 
 | 
						|
 static int __init rbppc_probe(void)
 | 
						|
@@ -284,6 +283,8 @@ static struct of_device_id rbppc_ids[] =
 | 
						|
 	{ .type = "soc", },
 | 
						|
 	{ .compatible = "soc", },
 | 
						|
 	{ .compatible = "simple-bus", },
 | 
						|
+	{ .type = "qe", },
 | 
						|
+	{ .compatible = "fsl,qe", },
 | 
						|
 	{ .compatible = "gianfar", },
 | 
						|
 	{ },
 | 
						|
 };
 | 
						|
@@ -372,4 +373,3 @@ static void fixup_rb604(struct pci_dev *
 | 
						|
 
 | 
						|
 DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, fixup_pcibridge)
 | 
						|
 DECLARE_PCI_FIXUP_HEADER(0x3388, 0x0021, fixup_rb604)
 | 
						|
-
 |