aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/parisc/dino.c
diff options
context:
space:
mode:
authorKyle McMartin <kyle@dreadnought.i.jkkm.org>2010-10-13 21:00:55 -0400
committerKyle McMartin <kyle@dreadnought.i.jkkm.org>2010-10-14 01:30:11 -0400
commitba20085c20f1c9e8af546dea6ad0efa421bdef32 (patch)
treea5f0574f6b1e60526eb7d1b1e1a50125f10d463c /drivers/parisc/dino.c
parentcaf96194c05cd97ce96546fbcb1f35ec06aaaac7 (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.c8
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
299static void dino_disable_irq(unsigned int irq) 299static 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
312static void dino_enable_irq(unsigned int irq) 311static 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