diff options
author | Kyle McMartin <kyle@dreadnought.i.jkkm.org> | 2010-10-13 21:00:55 -0400 |
---|---|---|
committer | Kyle McMartin <kyle@dreadnought.i.jkkm.org> | 2010-10-14 01:30:11 -0400 |
commit | ba20085c20f1c9e8af546dea6ad0efa421bdef32 (patch) | |
tree | a5f0574f6b1e60526eb7d1b1e1a50125f10d463c /drivers/parisc/dino.c | |
parent | caf96194c05cd97ce96546fbcb1f35ec06aaaac7 (diff) |
parisc: lay groundwork for killing __do_IRQ
Use proper accessors and handlers for generic irq cleanups. We just
call back into __do_IRQ through desc->handler now, and remove the
explicit calls.
Signed-off-by: Kyle McMartin <kyle@redhat.com>
Diffstat (limited to 'drivers/parisc/dino.c')
-rw-r--r-- | drivers/parisc/dino.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/parisc/dino.c b/drivers/parisc/dino.c index c542c7bb7454..3013c57f1217 100644 --- a/drivers/parisc/dino.c +++ b/drivers/parisc/dino.c | |||
@@ -298,8 +298,7 @@ static struct pci_port_ops dino_port_ops = { | |||
298 | 298 | ||
299 | static void dino_disable_irq(unsigned int irq) | 299 | static void dino_disable_irq(unsigned int irq) |
300 | { | 300 | { |
301 | struct irq_desc *desc = irq_to_desc(irq); | 301 | struct dino_device *dino_dev = get_irq_chip_data(irq); |
302 | struct dino_device *dino_dev = desc->chip_data; | ||
303 | int local_irq = gsc_find_local_irq(irq, dino_dev->global_irq, DINO_LOCAL_IRQS); | 302 | int local_irq = gsc_find_local_irq(irq, dino_dev->global_irq, DINO_LOCAL_IRQS); |
304 | 303 | ||
305 | DBG(KERN_WARNING "%s(0x%p, %d)\n", __func__, dino_dev, irq); | 304 | DBG(KERN_WARNING "%s(0x%p, %d)\n", __func__, dino_dev, irq); |
@@ -311,8 +310,7 @@ static void dino_disable_irq(unsigned int irq) | |||
311 | 310 | ||
312 | static void dino_enable_irq(unsigned int irq) | 311 | static void dino_enable_irq(unsigned int irq) |
313 | { | 312 | { |
314 | struct irq_desc *desc = irq_to_desc(irq); | 313 | struct dino_device *dino_dev = get_irq_chip_data(irq); |
315 | struct dino_device *dino_dev = desc->chip_data; | ||
316 | int local_irq = gsc_find_local_irq(irq, dino_dev->global_irq, DINO_LOCAL_IRQS); | 314 | int local_irq = gsc_find_local_irq(irq, dino_dev->global_irq, DINO_LOCAL_IRQS); |
317 | u32 tmp; | 315 | u32 tmp; |
318 | 316 | ||
@@ -391,7 +389,7 @@ ilr_again: | |||
391 | int irq = dino_dev->global_irq[local_irq]; | 389 | int irq = dino_dev->global_irq[local_irq]; |
392 | DBG(KERN_DEBUG "%s(%d, %p) mask 0x%x\n", | 390 | DBG(KERN_DEBUG "%s(%d, %p) mask 0x%x\n", |
393 | __func__, irq, intr_dev, mask); | 391 | __func__, irq, intr_dev, mask); |
394 | __do_IRQ(irq); | 392 | generic_handle_irq(irq); |
395 | mask &= ~(1 << local_irq); | 393 | mask &= ~(1 << local_irq); |
396 | } while (mask); | 394 | } while (mask); |
397 | 395 | ||