diff options
author | Kyle Moffett <Kyle.D.Moffett@boeing.com> | 2011-12-02 01:27:59 -0500 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2011-12-06 21:43:06 -0500 |
commit | 8bf41568969e003c3d5410124e27bbdce7852e1b (patch) | |
tree | 684fee8aa54797e2482afd66b94f9633fcbd5061 /arch/powerpc/platforms/85xx/tqm85xx.c | |
parent | 582d3e099413c3741a88bdee9e3ff3cc2f9d3329 (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.c | 9 |
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 @@ | |||
47 | static void __init tqm85xx_pic_init(void) | 47 | static 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); |