powerpc: Rework qe_ic_init() so we can avoid freeing the irq_host
authorMichael Ellerman <michael@ellerman.id.au>
Mon, 26 May 2008 02:12:31 +0000 (12:12 +1000)
committerPaul Mackerras <paulus@samba.org>
Mon, 9 Jun 2008 03:51:15 +0000 (13:51 +1000)
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>
arch/powerpc/sysdev/qe_lib/qe_ic.c

index f59444d3be752aa9580d751a9a76c0cd008a5f85..c11b313f015bffab263f17294ab837cd2923bb3d 100644 (file)
@@ -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;