diff options
author | Michael Ellerman <michael@ellerman.id.au> | 2008-05-25 22:12:31 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2008-06-08 23:51:15 -0400 |
commit | 2272a55f16c998d916904bba018b0f40f430d744 (patch) | |
tree | 8dd7212809b64ef3b665d8ecf66de9e1d3bad330 | |
parent | 84f1c1e08906f2206f2bbdd19e4ff6a0757ff7f8 (diff) |
powerpc: Rework qe_ic_init() so we can avoid freeing the irq_host
If we do the call to of_address_to_resource() first, then we don't
need to worry about freeing the irq_host (which the code doesn't do
currently anyway).
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r-- | arch/powerpc/sysdev/qe_lib/qe_ic.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/powerpc/sysdev/qe_lib/qe_ic.c b/arch/powerpc/sysdev/qe_lib/qe_ic.c index f59444d3be75..c11b313f015b 100644 --- a/arch/powerpc/sysdev/qe_lib/qe_ic.c +++ b/arch/powerpc/sysdev/qe_lib/qe_ic.c | |||
@@ -329,6 +329,10 @@ void __init qe_ic_init(struct device_node *node, unsigned int flags, | |||
329 | struct resource res; | 329 | struct resource res; |
330 | u32 temp = 0, ret, high_active = 0; | 330 | u32 temp = 0, ret, high_active = 0; |
331 | 331 | ||
332 | ret = of_address_to_resource(node, 0, &res); | ||
333 | if (ret) | ||
334 | return; | ||
335 | |||
332 | qe_ic = alloc_bootmem(sizeof(struct qe_ic)); | 336 | qe_ic = alloc_bootmem(sizeof(struct qe_ic)); |
333 | if (qe_ic == NULL) | 337 | if (qe_ic == NULL) |
334 | return; | 338 | return; |
@@ -342,10 +346,6 @@ void __init qe_ic_init(struct device_node *node, unsigned int flags, | |||
342 | return; | 346 | return; |
343 | } | 347 | } |
344 | 348 | ||
345 | ret = of_address_to_resource(node, 0, &res); | ||
346 | if (ret) | ||
347 | return; | ||
348 | |||
349 | qe_ic->regs = ioremap(res.start, res.end - res.start + 1); | 349 | qe_ic->regs = ioremap(res.start, res.end - res.start + 1); |
350 | 350 | ||
351 | qe_ic->irqhost->host_data = qe_ic; | 351 | qe_ic->irqhost->host_data = qe_ic; |