aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/85xx/mpc8536_ds.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/platforms/85xx/mpc8536_ds.c')
-rw-r--r--arch/powerpc/platforms/85xx/mpc8536_ds.c38
1 files changed, 5 insertions, 33 deletions
diff --git a/arch/powerpc/platforms/85xx/mpc8536_ds.c b/arch/powerpc/platforms/85xx/mpc8536_ds.c
index f79f2f102141..cf266826682e 100644
--- a/arch/powerpc/platforms/85xx/mpc8536_ds.c
+++ b/arch/powerpc/platforms/85xx/mpc8536_ds.c
@@ -32,31 +32,15 @@
32#include <sysdev/fsl_soc.h> 32#include <sysdev/fsl_soc.h>
33#include <sysdev/fsl_pci.h> 33#include <sysdev/fsl_pci.h>
34 34
35#include "mpc85xx.h"
36
35void __init mpc8536_ds_pic_init(void) 37void __init mpc8536_ds_pic_init(void)
36{ 38{
37 struct mpic *mpic; 39 struct mpic *mpic = mpic_alloc(NULL, 0,
38 struct resource r; 40 MPIC_WANTS_RESET |
39 struct device_node *np;
40
41 np = of_find_node_by_type(NULL, "open-pic");
42 if (np == NULL) {
43 printk(KERN_ERR "Could not find open-pic node\n");
44 return;
45 }
46
47 if (of_address_to_resource(np, 0, &r)) {
48 printk(KERN_ERR "Failed to map mpic register space\n");
49 of_node_put(np);
50 return;
51 }
52
53 mpic = mpic_alloc(np, r.start,
54 MPIC_PRIMARY | MPIC_WANTS_RESET |
55 MPIC_BIG_ENDIAN | MPIC_BROKEN_FRR_NIRQS, 41 MPIC_BIG_ENDIAN | MPIC_BROKEN_FRR_NIRQS,
56 0, 256, " OpenPIC "); 42 0, 256, " OpenPIC ");
57 BUG_ON(mpic == NULL); 43 BUG_ON(mpic == NULL);
58 of_node_put(np);
59
60 mpic_init(mpic); 44 mpic_init(mpic);
61} 45}
62 46
@@ -104,19 +88,7 @@ static void __init mpc8536_ds_setup_arch(void)
104 printk("MPC8536 DS board from Freescale Semiconductor\n"); 88 printk("MPC8536 DS board from Freescale Semiconductor\n");
105} 89}
106 90
107static struct of_device_id __initdata mpc8536_ds_ids[] = { 91machine_device_initcall(mpc8536_ds, mpc85xx_common_publish_devices);
108 { .type = "soc", },
109 { .compatible = "soc", },
110 { .compatible = "simple-bus", },
111 { .compatible = "gianfar", },
112 {},
113};
114
115static int __init mpc8536_ds_publish_devices(void)
116{
117 return of_platform_bus_probe(NULL, mpc8536_ds_ids, NULL);
118}
119machine_device_initcall(mpc8536_ds, mpc8536_ds_publish_devices);
120 92
121machine_arch_initcall(mpc8536_ds, swiotlb_setup_bus_notifier); 93machine_arch_initcall(mpc8536_ds, swiotlb_setup_bus_notifier);
122 94