diff options
Diffstat (limited to 'arch/powerpc/platforms/83xx/km83xx.c')
-rw-r--r-- | arch/powerpc/platforms/83xx/km83xx.c | 58 |
1 files changed, 5 insertions, 53 deletions
diff --git a/arch/powerpc/platforms/83xx/km83xx.c b/arch/powerpc/platforms/83xx/km83xx.c index c55129f5760a..65eb792a0d00 100644 --- a/arch/powerpc/platforms/83xx/km83xx.c +++ b/arch/powerpc/platforms/83xx/km83xx.c | |||
@@ -51,15 +51,14 @@ | |||
51 | */ | 51 | */ |
52 | static void __init mpc83xx_km_setup_arch(void) | 52 | static void __init mpc83xx_km_setup_arch(void) |
53 | { | 53 | { |
54 | #ifdef CONFIG_QUICC_ENGINE | ||
54 | struct device_node *np; | 55 | struct device_node *np; |
56 | #endif | ||
55 | 57 | ||
56 | if (ppc_md.progress) | 58 | if (ppc_md.progress) |
57 | ppc_md.progress("kmpbec83xx_setup_arch()", 0); | 59 | ppc_md.progress("kmpbec83xx_setup_arch()", 0); |
58 | 60 | ||
59 | #ifdef CONFIG_PCI | 61 | mpc83xx_setup_pci(); |
60 | for_each_compatible_node(np, "pci", "fsl,mpc8349-pci") | ||
61 | mpc83xx_add_bridge(np); | ||
62 | #endif | ||
63 | 62 | ||
64 | #ifdef CONFIG_QUICC_ENGINE | 63 | #ifdef CONFIG_QUICC_ENGINE |
65 | qe_reset(); | 64 | qe_reset(); |
@@ -122,54 +121,7 @@ static void __init mpc83xx_km_setup_arch(void) | |||
122 | #endif /* CONFIG_QUICC_ENGINE */ | 121 | #endif /* CONFIG_QUICC_ENGINE */ |
123 | } | 122 | } |
124 | 123 | ||
125 | static struct of_device_id kmpbec83xx_ids[] = { | 124 | machine_device_initcall(mpc83xx_km, mpc83xx_declare_of_platform_devices); |
126 | { .type = "soc", }, | ||
127 | { .compatible = "soc", }, | ||
128 | { .compatible = "simple-bus", }, | ||
129 | { .type = "qe", }, | ||
130 | { .compatible = "fsl,qe", }, | ||
131 | {}, | ||
132 | }; | ||
133 | |||
134 | static int __init kmeter_declare_of_platform_devices(void) | ||
135 | { | ||
136 | /* Publish the QE devices */ | ||
137 | of_platform_bus_probe(NULL, kmpbec83xx_ids, NULL); | ||
138 | |||
139 | return 0; | ||
140 | } | ||
141 | machine_device_initcall(mpc83xx_km, kmeter_declare_of_platform_devices); | ||
142 | |||
143 | static void __init mpc83xx_km_init_IRQ(void) | ||
144 | { | ||
145 | struct device_node *np; | ||
146 | |||
147 | np = of_find_compatible_node(NULL, NULL, "fsl,pq2pro-pic"); | ||
148 | if (!np) { | ||
149 | np = of_find_node_by_type(NULL, "ipic"); | ||
150 | if (!np) | ||
151 | return; | ||
152 | } | ||
153 | |||
154 | ipic_init(np, 0); | ||
155 | |||
156 | /* Initialize the default interrupt mapping priorities, | ||
157 | * in case the boot rom changed something on us. | ||
158 | */ | ||
159 | ipic_set_default_priority(); | ||
160 | of_node_put(np); | ||
161 | |||
162 | #ifdef CONFIG_QUICC_ENGINE | ||
163 | np = of_find_compatible_node(NULL, NULL, "fsl,qe-ic"); | ||
164 | if (!np) { | ||
165 | np = of_find_node_by_type(NULL, "qeic"); | ||
166 | if (!np) | ||
167 | return; | ||
168 | } | ||
169 | qe_ic_init(np, 0, qe_ic_cascade_low_ipic, qe_ic_cascade_high_ipic); | ||
170 | of_node_put(np); | ||
171 | #endif /* CONFIG_QUICC_ENGINE */ | ||
172 | } | ||
173 | 125 | ||
174 | /* list of the supported boards */ | 126 | /* list of the supported boards */ |
175 | static char *board[] __initdata = { | 127 | static char *board[] __initdata = { |
@@ -198,7 +150,7 @@ define_machine(mpc83xx_km) { | |||
198 | .name = "mpc83xx-km-platform", | 150 | .name = "mpc83xx-km-platform", |
199 | .probe = mpc83xx_km_probe, | 151 | .probe = mpc83xx_km_probe, |
200 | .setup_arch = mpc83xx_km_setup_arch, | 152 | .setup_arch = mpc83xx_km_setup_arch, |
201 | .init_IRQ = mpc83xx_km_init_IRQ, | 153 | .init_IRQ = mpc83xx_ipic_and_qe_init_IRQ, |
202 | .get_irq = ipic_get_irq, | 154 | .get_irq = ipic_get_irq, |
203 | .restart = mpc83xx_restart, | 155 | .restart = mpc83xx_restart, |
204 | .time_init = mpc83xx_time_init, | 156 | .time_init = mpc83xx_time_init, |