aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/85xx/p1010rdb.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/platforms/85xx/p1010rdb.c')
-rw-r--r--arch/powerpc/platforms/85xx/p1010rdb.c38
1 files changed, 6 insertions, 32 deletions
diff --git a/arch/powerpc/platforms/85xx/p1010rdb.c b/arch/powerpc/platforms/85xx/p1010rdb.c
index d7387fa7f534..538bc3f57e9d 100644
--- a/arch/powerpc/platforms/85xx/p1010rdb.c
+++ b/arch/powerpc/platforms/85xx/p1010rdb.c
@@ -28,33 +28,18 @@
28#include <sysdev/fsl_soc.h> 28#include <sysdev/fsl_soc.h>
29#include <sysdev/fsl_pci.h> 29#include <sysdev/fsl_pci.h>
30 30
31#include "mpc85xx.h"
32
31void __init p1010_rdb_pic_init(void) 33void __init p1010_rdb_pic_init(void)
32{ 34{
33 struct mpic *mpic; 35 struct mpic *mpic = mpic_alloc(NULL, 0,
34 struct resource r; 36 MPIC_WANTS_RESET | MPIC_BIG_ENDIAN |
35 struct device_node *np; 37 MPIC_BROKEN_FRR_NIRQS | MPIC_SINGLE_DEST_CPU,
36
37 np = of_find_node_by_type(NULL, "open-pic");
38 if (np == NULL) {
39 printk(KERN_ERR "Could not find open-pic node\n");
40 return;
41 }
42
43 if (of_address_to_resource(np, 0, &r)) {
44 printk(KERN_ERR "Failed to map mpic register space\n");
45 of_node_put(np);
46 return;
47 }
48
49 mpic = mpic_alloc(np, r.start, MPIC_PRIMARY | MPIC_WANTS_RESET |
50 MPIC_BIG_ENDIAN | MPIC_BROKEN_FRR_NIRQS | MPIC_SINGLE_DEST_CPU,
51 0, 256, " OpenPIC "); 38 0, 256, " OpenPIC ");
52 39
53 BUG_ON(mpic == NULL); 40 BUG_ON(mpic == NULL);
54 of_node_put(np);
55 41
56 mpic_init(mpic); 42 mpic_init(mpic);
57
58} 43}
59 44
60 45
@@ -81,18 +66,7 @@ static void __init p1010_rdb_setup_arch(void)
81 printk(KERN_INFO "P1010 RDB board from Freescale Semiconductor\n"); 66 printk(KERN_INFO "P1010 RDB board from Freescale Semiconductor\n");
82} 67}
83 68
84static struct of_device_id __initdata p1010rdb_ids[] = { 69machine_device_initcall(p1010_rdb, mpc85xx_common_publish_devices);
85 { .type = "soc", },
86 { .compatible = "soc", },
87 { .compatible = "simple-bus", },
88 {},
89};
90
91static int __init p1010rdb_publish_devices(void)
92{
93 return of_platform_bus_probe(NULL, p1010rdb_ids, NULL);
94}
95machine_device_initcall(p1010_rdb, p1010rdb_publish_devices);
96machine_arch_initcall(p1010_rdb, swiotlb_setup_bus_notifier); 70machine_arch_initcall(p1010_rdb, swiotlb_setup_bus_notifier);
97 71
98/* 72/*