--- a/arch/powerpc/platforms/83xx/rbppc.c +++ b/arch/powerpc/platforms/83xx/rbppc.c @@ -121,21 +121,16 @@ #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 @@ } #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 @@ { .type = "soc", }, { .compatible = "soc", }, { .compatible = "simple-bus", }, + { .type = "qe", }, + { .compatible = "fsl,qe", }, { .compatible = "gianfar", }, { }, }; @@ -372,4 +373,3 @@ DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, fixup_pcibridge) DECLARE_PCI_FIXUP_HEADER(0x3388, 0x0021, fixup_rb604) -