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 aceec6ed5116..0846dafdfff1 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 | /* |
