diff options
Diffstat (limited to 'arch/powerpc/platforms/85xx/mpc8536_ds.c')
-rw-r--r-- | arch/powerpc/platforms/85xx/mpc8536_ds.c | 38 |
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 | |||
35 | void __init mpc8536_ds_pic_init(void) | 37 | void __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 | ||
107 | static struct of_device_id __initdata mpc8536_ds_ids[] = { | 91 | machine_device_initcall(mpc8536_ds, mpc85xx_common_publish_devices); |
108 | { .type = "soc", }, | ||
109 | { .compatible = "soc", }, | ||
110 | { .compatible = "simple-bus", }, | ||
111 | { .compatible = "gianfar", }, | ||
112 | {}, | ||
113 | }; | ||
114 | |||
115 | static int __init mpc8536_ds_publish_devices(void) | ||
116 | { | ||
117 | return of_platform_bus_probe(NULL, mpc8536_ds_ids, NULL); | ||
118 | } | ||
119 | machine_device_initcall(mpc8536_ds, mpc8536_ds_publish_devices); | ||
120 | 92 | ||
121 | machine_arch_initcall(mpc8536_ds, swiotlb_setup_bus_notifier); | 93 | machine_arch_initcall(mpc8536_ds, swiotlb_setup_bus_notifier); |
122 | 94 | ||