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 | |
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>
-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) } DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_87560_LIO, superio_init); -static void superio_disable_irq(unsigned int irq) +static void superio_mask_irq(unsigned int irq) { u8 r8; @@ -303,7 +303,7 @@ static void superio_disable_irq(unsigned int irq) outb (r8,IC_PIC1+1); } -static void superio_enable_irq(unsigned int irq) +static void superio_unmask_irq(unsigned int irq) { u8 r8; @@ -319,20 +319,11 @@ static void superio_enable_irq(unsigned int irq) outb (r8,IC_PIC1+1); } -static unsigned int superio_startup_irq(unsigned int irq) -{ - superio_enable_irq(irq); - return 0; -} - static struct irq_chip superio_interrupt_type = { - .name = SUPERIO, - .startup = superio_startup_irq, - .shutdown = superio_disable_irq, - .enable = superio_enable_irq, - .disable = superio_disable_irq, + .name = SUPERIO, + .unmask = superio_unmask_irq, + .mask = superio_mask_irq, .ack = no_ack_irq, - .end = no_end_irq, }; #ifdef DEBUG_SUPERIO_INIT @@ -363,7 +354,7 @@ int superio_fixup_irq(struct pci_dev *pcidev) #endif for (i = 0; i < 16; i++) { - set_irq_chip_and_handler(i, &superio_interrupt_type, parisc_do_IRQ); + set_irq_chip_and_handler(i, &superio_interrupt_type, handle_level_irq); } /* |