[package] base-files: add an experimental "-c" flag which tries to preserve *all...
[openwrt.git] / target / linux / mpc83xx / patches-2.6.33 / 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 -
This page took 0.043742 seconds and 5 git commands to generate.