powerpc: Rework ipic_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>
This commit is contained in:
Родитель
997526db9f
Коммит
84f1c1e089
|
@ -725,6 +725,10 @@ struct ipic * __init ipic_init(struct device_node *node, unsigned int flags)
|
||||||
struct resource res;
|
struct resource res;
|
||||||
u32 temp = 0, ret;
|
u32 temp = 0, ret;
|
||||||
|
|
||||||
|
ret = of_address_to_resource(node, 0, &res);
|
||||||
|
if (ret)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
ipic = alloc_bootmem(sizeof(struct ipic));
|
ipic = alloc_bootmem(sizeof(struct ipic));
|
||||||
if (ipic == NULL)
|
if (ipic == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -739,12 +743,6 @@ struct ipic * __init ipic_init(struct device_node *node, unsigned int flags)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = of_address_to_resource(node, 0, &res);
|
|
||||||
if (ret) {
|
|
||||||
of_node_put(node);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
ipic->regs = ioremap(res.start, res.end - res.start + 1);
|
ipic->regs = ioremap(res.start, res.end - res.start + 1);
|
||||||
|
|
||||||
ipic->irqhost->host_data = ipic;
|
ipic->irqhost->host_data = ipic;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче