diff options
author | Kyle McMartin <kyle@dreadnought.i.jkkm.org> | 2010-10-14 01:00:51 -0400 |
---|---|---|
committer | Kyle McMartin <kyle@dreadnought.i.jkkm.org> | 2010-10-14 01:30:50 -0400 |
commit | 8ed5c00d7c166f505eb2e8ff47748bfa73824130 (patch) | |
tree | bc85949274a8811b55ca3c13b5509ee776fde6e5 /drivers/parisc | |
parent | 7998b3bd156478c35de685f90d4d0dda57916c60 (diff) | |
download | lwn-8ed5c00d7c166f505eb2e8ff47748bfa73824130.tar.gz lwn-8ed5c00d7c166f505eb2e8ff47748bfa73824130.zip |
parisc: convert eisa interrupts to flow handlers
Signed-off-by: Kyle McMartin <kyle@redhat.com>
Diffstat (limited to 'drivers/parisc')
-rw-r--r-- | drivers/parisc/eisa.c | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/drivers/parisc/eisa.c b/drivers/parisc/eisa.c index 585417702211..1211974f55aa 100644 --- a/drivers/parisc/eisa.c +++ b/drivers/parisc/eisa.c @@ -144,7 +144,7 @@ static unsigned int eisa_irq_level __read_mostly; /* default to edge triggered * /* called by free irq */ -static void eisa_disable_irq(unsigned int irq) +static void eisa_mask_irq(unsigned int irq) { unsigned long flags; @@ -164,7 +164,7 @@ static void eisa_disable_irq(unsigned int irq) } /* called by request irq */ -static void eisa_enable_irq(unsigned int irq) +static void eisa_unmask_irq(unsigned int irq) { unsigned long flags; EISA_DBG("enable irq %d\n", irq); @@ -182,20 +182,11 @@ static void eisa_enable_irq(unsigned int irq) EISA_DBG("pic1 mask %02x\n", eisa_in8(0xa1)); } -static unsigned int eisa_startup_irq(unsigned int irq) -{ - eisa_enable_irq(irq); - return 0; -} - static struct irq_chip eisa_interrupt_type = { - .name = "EISA", - .startup = eisa_startup_irq, - .shutdown = eisa_disable_irq, - .enable = eisa_enable_irq, - .disable = eisa_disable_irq, - .ack = no_ack_irq, - .end = no_end_irq, + .name = "EISA", + .unmask = eisa_unmask_irq, + .mask = eisa_mask_irq, + .ack = no_ack_irq, }; static irqreturn_t eisa_irq(int wax_irq, void *intr_dev) @@ -349,7 +340,7 @@ static int __init eisa_probe(struct parisc_device *dev) setup_irq(2, &irq2_action); for (i = 0; i < 16; i++) { set_irq_chip_and_handler(i, &eisa_interrupt_type, - parisc_do_IRQ); + handle_level_irq); } EISA_bus = 1; |