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 | |
| parent | 7998b3bd156478c35de685f90d4d0dda57916c60 (diff) | |
parisc: convert eisa interrupts to flow handlers
Signed-off-by: Kyle McMartin <kyle@redhat.com>
| -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 * | |||
| 144 | 144 | ||
| 145 | 145 | ||
| 146 | /* called by free irq */ | 146 | /* called by free irq */ |
| 147 | static void eisa_disable_irq(unsigned int irq) | 147 | static void eisa_mask_irq(unsigned int irq) |
| 148 | { | 148 | { |
| 149 | unsigned long flags; | 149 | unsigned long flags; |
| 150 | 150 | ||
| @@ -164,7 +164,7 @@ static void eisa_disable_irq(unsigned int irq) | |||
| 164 | } | 164 | } |
| 165 | 165 | ||
| 166 | /* called by request irq */ | 166 | /* called by request irq */ |
| 167 | static void eisa_enable_irq(unsigned int irq) | 167 | static void eisa_unmask_irq(unsigned int irq) |
| 168 | { | 168 | { |
| 169 | unsigned long flags; | 169 | unsigned long flags; |
| 170 | EISA_DBG("enable irq %d\n", irq); | 170 | EISA_DBG("enable irq %d\n", irq); |
| @@ -182,20 +182,11 @@ static void eisa_enable_irq(unsigned int irq) | |||
| 182 | EISA_DBG("pic1 mask %02x\n", eisa_in8(0xa1)); | 182 | EISA_DBG("pic1 mask %02x\n", eisa_in8(0xa1)); |
| 183 | } | 183 | } |
| 184 | 184 | ||
| 185 | static unsigned int eisa_startup_irq(unsigned int irq) | ||
| 186 | { | ||
| 187 | eisa_enable_irq(irq); | ||
| 188 | return 0; | ||
| 189 | } | ||
| 190 | |||
| 191 | static struct irq_chip eisa_interrupt_type = { | 185 | static struct irq_chip eisa_interrupt_type = { |
| 192 | .name = "EISA", | 186 | .name = "EISA", |
| 193 | .startup = eisa_startup_irq, | 187 | .unmask = eisa_unmask_irq, |
| 194 | .shutdown = eisa_disable_irq, | 188 | .mask = eisa_mask_irq, |
| 195 | .enable = eisa_enable_irq, | 189 | .ack = no_ack_irq, |
| 196 | .disable = eisa_disable_irq, | ||
| 197 | .ack = no_ack_irq, | ||
| 198 | .end = no_end_irq, | ||
| 199 | }; | 190 | }; |
| 200 | 191 | ||
| 201 | static irqreturn_t eisa_irq(int wax_irq, void *intr_dev) | 192 | static irqreturn_t eisa_irq(int wax_irq, void *intr_dev) |
| @@ -349,7 +340,7 @@ static int __init eisa_probe(struct parisc_device *dev) | |||
| 349 | setup_irq(2, &irq2_action); | 340 | setup_irq(2, &irq2_action); |
| 350 | for (i = 0; i < 16; i++) { | 341 | for (i = 0; i < 16; i++) { |
| 351 | set_irq_chip_and_handler(i, &eisa_interrupt_type, | 342 | set_irq_chip_and_handler(i, &eisa_interrupt_type, |
| 352 | parisc_do_IRQ); | 343 | handle_level_irq); |
| 353 | } | 344 | } |
| 354 | 345 | ||
| 355 | EISA_bus = 1; | 346 | EISA_bus = 1; |
