powerpc: Rework qe_ic_init() so we can avoid freeing the irq_host
[firefly-linux-kernel-4.4.55.git] / 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;