diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2011-03-25 11:12:28 +0000 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2011-03-27 00:09:44 +0100 |
commit | 77eda96691f5e39973f2f2667a28e57e852f559d (patch) | |
tree | 005a76cf55cdaea905a17d0230091a9e2d37efc3 /drivers/mfd/htc-egpio.c | |
parent | 73a6839fdb7f3f5ac7bfaee0796dd7647b9c9376 (diff) | |
download | lwn-77eda96691f5e39973f2f2667a28e57e852f559d.tar.gz lwn-77eda96691f5e39973f2f2667a28e57e852f559d.zip |
mfd: htc-egpio: Cleanup interrupt handling
Replace the open coded handler call with the prober accessor. Retrieve
the handler data from desc. That avoids a redundant lookup in the
sparse irq case.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/mfd/htc-egpio.c')
-rw-r--r-- | drivers/mfd/htc-egpio.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/mfd/htc-egpio.c b/drivers/mfd/htc-egpio.c index d00b6d1a69e5..0ca68860c0d0 100644 --- a/drivers/mfd/htc-egpio.c +++ b/drivers/mfd/htc-egpio.c @@ -100,7 +100,7 @@ static struct irq_chip egpio_muxed_chip = { static void egpio_handler(unsigned int irq, struct irq_desc *desc) { - struct egpio_info *ei = get_irq_data(irq); + struct egpio_info *ei = irq_desc_get_handler_data(desc); int irqpin; /* Read current pins. */ @@ -113,9 +113,7 @@ static void egpio_handler(unsigned int irq, struct irq_desc *desc) for_each_set_bit(irqpin, &readval, ei->nirqs) { /* Run irq handler */ pr_debug("got IRQ %d\n", irqpin); - irq = ei->irq_start + irqpin; - desc = irq_to_desc(irq); - desc->handle_irq(irq, desc); + generic_handle_irq(ei->irq_start + irqpin); } } |