Root/target/linux/mpc83xx/patches-2.6.36/024-quicc-engine-fixups.patch

1
2--- a/arch/powerpc/platforms/83xx/rbppc.c
3+++ b/arch/powerpc/platforms/83xx/rbppc.c
4@@ -121,21 +121,16 @@ static void __init rbppc_setup_arch(void
5 #endif
6 
7 #ifdef CONFIG_QUICC_ENGINE
8- np = of_find_node_by_name(np, "par_io");
9- if (np) {
10- qe_reset();
11- par_io_init(np);
12- of_node_put(np);
13-
14- np = NULL;
15- while (1) {
16- np = of_find_node_by_name(np, "ucc");
17- if (!np) break;
18+ qe_reset();
19 
20- par_io_of_config(np);
21- }
22- }
23-#endif
24+ if ((np = of_find_node_by_name(NULL, "par_io")) != NULL) {
25+ par_io_init(np);
26+ of_node_put(np);
27+
28+ for (np = NULL; (np = of_find_node_by_name(np, "ucc")) != NULL;)
29+ par_io_of_config(np);
30+ }
31+#endif
32 
33 }
34 
35@@ -151,12 +146,16 @@ void __init rbppc_init_IRQ(void)
36     }
37 
38 #ifdef CONFIG_QUICC_ENGINE
39- np = of_find_node_by_type(NULL, "qeic");
40- if (np) {
41- qe_ic_init(np, 0, qe_ic_cascade_low_ipic, qe_ic_cascade_high_ipic);
42- of_node_put(np);
43- }
44-#endif
45+ np = of_find_compatible_node(NULL, NULL, "fsl,qe-ic");
46+ if (!np) {
47+ np = of_find_node_by_type(NULL, "qeic");
48+ if (!np)
49+ return;
50+ }
51+ qe_ic_init(np, 0, qe_ic_cascade_low_ipic, qe_ic_cascade_high_ipic);
52+ of_node_put(np);
53+#endif /* CONFIG_QUICC_ENGINE */
54+
55 }
56 
57 static int __init rbppc_probe(void)
58@@ -284,6 +283,8 @@ static struct of_device_id rbppc_ids[] =
59     { .type = "soc", },
60     { .compatible = "soc", },
61     { .compatible = "simple-bus", },
62+ { .type = "qe", },
63+ { .compatible = "fsl,qe", },
64     { .compatible = "gianfar", },
65     { },
66 };
67@@ -372,4 +373,3 @@ static void fixup_rb604(struct pci_dev *
68 
69 DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, fixup_pcibridge)
70 DECLARE_PCI_FIXUP_HEADER(0x3388, 0x0021, fixup_rb604)
71-
72

Archive Download this file



interactive