[PATCH 3/4] Rework qe_ic_init() so we can avoid freeing the irq_host

Michael Ellerman michael at ellerman.id.au
Mon May 26 12:12:31 EST 2008


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 at ellerman.id.au>
---
 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 f59444d..c11b313 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,
 	struct resource res;
 	u32 temp = 0, ret, high_active = 0;
 
+	ret = of_address_to_resource(node, 0, &res);
+	if (ret)
+		return;
+
 	qe_ic = alloc_bootmem(sizeof(struct qe_ic));
 	if (qe_ic == NULL)
 		return;
@@ -342,10 +346,6 @@ void __init qe_ic_init(struct device_node *node, unsigned int flags,
 		return;
 	}
 
-	ret = of_address_to_resource(node, 0, &res);
-	if (ret)
-		return;
-
 	qe_ic->regs = ioremap(res.start, res.end - res.start + 1);
 
 	qe_ic->irqhost->host_data = qe_ic;
-- 
1.5.5




More information about the Linuxppc-dev mailing list