diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2006-07-03 05:32:51 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-07-03 05:55:12 -0400 |
commit | b9e5b4e6a991a5a6d521f2e20a65835404b4169f (patch) | |
tree | a0ac972faae4bf9133f576d842667bb134190341 /arch/powerpc/platforms/iseries/irq.c | |
parent | 5a43a066b11ac2fe84cf67307f20b83bea390f83 (diff) |
[POWERPC] Use the genirq framework
This adapts the generic powerpc interrupt handling code, and all of
the platforms except for the embedded 6xx machines, to use the new
genirq framework.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/platforms/iseries/irq.c')
-rw-r--r-- | arch/powerpc/platforms/iseries/irq.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/arch/powerpc/platforms/iseries/irq.c b/arch/powerpc/platforms/iseries/irq.c index f70e820e7304..7fb6a08786c0 100644 --- a/arch/powerpc/platforms/iseries/irq.c +++ b/arch/powerpc/platforms/iseries/irq.c | |||
@@ -297,13 +297,13 @@ static void iseries_end_IRQ(unsigned int irq) | |||
297 | (REAL_IRQ_TO_IDSEL(rirq) << 4) + REAL_IRQ_TO_FUNC(rirq)); | 297 | (REAL_IRQ_TO_IDSEL(rirq) << 4) + REAL_IRQ_TO_FUNC(rirq)); |
298 | } | 298 | } |
299 | 299 | ||
300 | static hw_irq_controller iSeries_IRQ_handler = { | 300 | static struct irq_chip iseries_pic = { |
301 | .typename = "iSeries irq controller", | 301 | .typename = "iSeries irq controller", |
302 | .startup = iseries_startup_IRQ, | 302 | .startup = iseries_startup_IRQ, |
303 | .shutdown = iseries_shutdown_IRQ, | 303 | .shutdown = iseries_shutdown_IRQ, |
304 | .enable = iseries_enable_IRQ, | 304 | .unmask = iseries_enable_IRQ, |
305 | .disable = iseries_disable_IRQ, | 305 | .mask = iseries_disable_IRQ, |
306 | .end = iseries_end_IRQ | 306 | .eoi = iseries_end_IRQ |
307 | }; | 307 | }; |
308 | 308 | ||
309 | /* | 309 | /* |
@@ -322,8 +322,7 @@ int __init iSeries_allocate_IRQ(HvBusNumber bus, | |||
322 | realirq = (((((sub_bus << 8) + (bus - 1)) << 3) + (idsel - 1)) << 3) | 322 | realirq = (((((sub_bus << 8) + (bus - 1)) << 3) + (idsel - 1)) << 3) |
323 | + function; | 323 | + function; |
324 | virtirq = virt_irq_create_mapping(realirq); | 324 | virtirq = virt_irq_create_mapping(realirq); |
325 | 325 | set_irq_chip_and_handler(virtirq, &iseries_pic, handle_fasteoi_irq); | |
326 | irq_desc[virtirq].chip = &iSeries_IRQ_handler; | ||
327 | return virtirq; | 326 | return virtirq; |
328 | } | 327 | } |
329 | 328 | ||