aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/parisc
diff options
context:
space:
mode:
authorKyle McMartin <kyle@dreadnought.i.jkkm.org>2010-10-14 00:53:17 -0400
committerKyle McMartin <kyle@dreadnought.i.jkkm.org>2010-10-14 01:30:18 -0400
commit14ff626a64f1c6848b303254be00b1b2ff33a655 (patch)
tree41240bd6cff384043de638d14d89deca34365996 /drivers/parisc
parentf3d4605977f9f30993c670a85f75d8f3853144c5 (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.c21
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}
287DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_87560_LIO, superio_init); 287DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_87560_LIO, superio_init);
288 288
289static void superio_disable_irq(unsigned int irq) 289static 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
306static void superio_enable_irq(unsigned int irq) 306static 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
322static unsigned int superio_startup_irq(unsigned int irq)
323{
324 superio_enable_irq(irq);
325 return 0;
326}
327
328static struct irq_chip superio_interrupt_type = { 322static 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 /*