aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/85xx/tqm85xx.c
diff options
context:
space:
mode:
authorKyle Moffett <Kyle.D.Moffett@boeing.com>2011-12-02 01:27:59 -0500
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2011-12-06 21:43:06 -0500
commit8bf41568969e003c3d5410124e27bbdce7852e1b (patch)
tree684fee8aa54797e2482afd66b94f9633fcbd5061 /arch/powerpc/platforms/85xx/tqm85xx.c
parent582d3e099413c3741a88bdee9e3ff3cc2f9d3329 (diff)
powerpc: Consolidate mpic_alloc() OF address translation
Instead of using the open-coded "reg" property lookup and address translation in mpic_alloc(), directly call of_address_to_resource(). This includes various workarounds for special cases which the naive of_address_translate() does not. Afterwards it is possible to remove the copiously copy-pasted calls to of_address_translate() from the 85xx/86xx/powermac platforms. Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Grant Likely <grant.likely@secretlab.ca> Cc: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/platforms/85xx/tqm85xx.c')
-rw-r--r--arch/powerpc/platforms/85xx/tqm85xx.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/arch/powerpc/platforms/85xx/tqm85xx.c b/arch/powerpc/platforms/85xx/tqm85xx.c
index 2418bf8d074b..a46b9fc66205 100644
--- a/arch/powerpc/platforms/85xx/tqm85xx.c
+++ b/arch/powerpc/platforms/85xx/tqm85xx.c
@@ -47,7 +47,6 @@
47static void __init tqm85xx_pic_init(void) 47static void __init tqm85xx_pic_init(void)
48{ 48{
49 struct mpic *mpic; 49 struct mpic *mpic;
50 struct resource r;
51 struct device_node *np; 50 struct device_node *np;
52 51
53 np = of_find_node_by_type(NULL, "open-pic"); 52 np = of_find_node_by_type(NULL, "open-pic");
@@ -56,13 +55,7 @@ static void __init tqm85xx_pic_init(void)
56 return; 55 return;
57 } 56 }
58 57
59 if (of_address_to_resource(np, 0, &r)) { 58 mpic = mpic_alloc(np, 0,
60 printk(KERN_ERR "Could not map mpic register space\n");
61 of_node_put(np);
62 return;
63 }
64
65 mpic = mpic_alloc(np, r.start,
66 MPIC_PRIMARY | MPIC_WANTS_RESET | MPIC_BIG_ENDIAN, 59 MPIC_PRIMARY | MPIC_WANTS_RESET | MPIC_BIG_ENDIAN,
67 0, 256, " OpenPIC "); 60 0, 256, " OpenPIC ");
68 BUG_ON(mpic == NULL); 61 BUG_ON(mpic == NULL);