diff options
Diffstat (limited to 'arch/powerpc/sysdev/qe_lib/qe_ic.c')
-rw-r--r-- | arch/powerpc/sysdev/qe_lib/qe_ic.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/arch/powerpc/sysdev/qe_lib/qe_ic.c b/arch/powerpc/sysdev/qe_lib/qe_ic.c index f59444d3be7..63cdf9887f3 100644 --- a/arch/powerpc/sysdev/qe_lib/qe_ic.c +++ b/arch/powerpc/sysdev/qe_lib/qe_ic.c | |||
@@ -329,21 +329,19 @@ 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; |
335 | 339 | ||
336 | memset(qe_ic, 0, sizeof(struct qe_ic)); | 340 | memset(qe_ic, 0, sizeof(struct qe_ic)); |
337 | 341 | ||
338 | qe_ic->irqhost = irq_alloc_host(of_node_get(node), IRQ_HOST_MAP_LINEAR, | 342 | qe_ic->irqhost = irq_alloc_host(node, IRQ_HOST_MAP_LINEAR, |
339 | NR_QE_IC_INTS, &qe_ic_host_ops, 0); | 343 | NR_QE_IC_INTS, &qe_ic_host_ops, 0); |
340 | if (qe_ic->irqhost == NULL) { | 344 | if (qe_ic->irqhost == NULL) |
341 | of_node_put(node); | ||
342 | return; | ||
343 | } | ||
344 | |||
345 | ret = of_address_to_resource(node, 0, &res); | ||
346 | if (ret) | ||
347 | return; | 345 | return; |
348 | 346 | ||
349 | qe_ic->regs = ioremap(res.start, res.end - res.start + 1); | 347 | qe_ic->regs = ioremap(res.start, res.end - res.start + 1); |