diff options
author | Kyle McMartin <kyle@dreadnought.i.jkkm.org> | 2010-10-14 00:53:17 -0400 |
---|---|---|
committer | Kyle McMartin <kyle@dreadnought.i.jkkm.org> | 2010-10-14 01:30:18 -0400 |
commit | 14ff626a64f1c6848b303254be00b1b2ff33a655 (patch) | |
tree | 41240bd6cff384043de638d14d89deca34365996 /drivers/parisc | |
parent | f3d4605977f9f30993c670a85f75d8f3853144c5 (diff) |
parisc: convert suckyio interrupts to flow handlers
No big deal, just need to convert the suckyio interrupts to be
a nested handler instead of request_irq the suckyio device in the
future.
Signed-off-by: Kyle McMartin <kyle@redhat.com>
Diffstat (limited to 'drivers/parisc')
-rw-r--r-- | drivers/parisc/superio.c | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/drivers/parisc/superio.c b/drivers/parisc/superio.c index aceec6ed511..0846dafdfff 100644 --- a/drivers/parisc/superio.c +++ b/drivers/parisc/superio.c | |||
@@ -286,7 +286,7 @@ superio_init(struct pci_dev *pcidev) | |||
286 | } | 286 | } |
287 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_87560_LIO, superio_init); | 287 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_87560_LIO, superio_init); |
288 | 288 | ||
289 | static void superio_disable_irq(unsigned int irq) | 289 | static void superio_mask_irq(unsigned int irq) |
290 | { | 290 | { |
291 | u8 r8; | 291 | u8 r8; |
292 | 292 | ||
@@ -303,7 +303,7 @@ static void superio_disable_irq(unsigned int irq) | |||
303 | outb (r8,IC_PIC1+1); | 303 | outb (r8,IC_PIC1+1); |
304 | } | 304 | } |
305 | 305 | ||
306 | static void superio_enable_irq(unsigned int irq) | 306 | static void superio_unmask_irq(unsigned int irq) |
307 | { | 307 | { |
308 | u8 r8; | 308 | u8 r8; |
309 | 309 | ||
@@ -319,20 +319,11 @@ static void superio_enable_irq(unsigned int irq) | |||
319 | outb (r8,IC_PIC1+1); | 319 | outb (r8,IC_PIC1+1); |
320 | } | 320 | } |
321 | 321 | ||
322 | static unsigned int superio_startup_irq(unsigned int irq) | ||
323 | { | ||
324 | superio_enable_irq(irq); | ||
325 | return 0; | ||
326 | } | ||
327 | |||
328 | static struct irq_chip superio_interrupt_type = { | 322 | static struct irq_chip superio_interrupt_type = { |
329 | .name = SUPERIO, | 323 | .name = SUPERIO, |
330 | .startup = superio_startup_irq, | 324 | .unmask = superio_unmask_irq, |
331 | .shutdown = superio_disable_irq, | 325 | .mask = superio_mask_irq, |
332 | .enable = superio_enable_irq, | ||
333 | .disable = superio_disable_irq, | ||
334 | .ack = no_ack_irq, | 326 | .ack = no_ack_irq, |
335 | .end = no_end_irq, | ||
336 | }; | 327 | }; |
337 | 328 | ||
338 | #ifdef DEBUG_SUPERIO_INIT | 329 | #ifdef DEBUG_SUPERIO_INIT |
@@ -363,7 +354,7 @@ int superio_fixup_irq(struct pci_dev *pcidev) | |||
363 | #endif | 354 | #endif |
364 | 355 | ||
365 | for (i = 0; i < 16; i++) { | 356 | for (i = 0; i < 16; i++) { |
366 | set_irq_chip_and_handler(i, &superio_interrupt_type, parisc_do_IRQ); | 357 | set_irq_chip_and_handler(i, &superio_interrupt_type, handle_level_irq); |
367 | } | 358 | } |
368 | 359 | ||
369 | /* | 360 | /* |