summaryrefslogtreecommitdiffstats
path: root/kernel/irq/chip.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-02-07 01:25:41 +0100
committerThomas Gleixner <tglx@linutronix.de>2011-02-19 12:58:12 +0100
commit849f061c25f8951d11c7dd88f44950ccde296392 (patch)
treeb04284d1031f5ba4dd14b81b050ea8c662b2ec42 /kernel/irq/chip.c
parenta60a5dc2db3b08b3c2900614c43b1262410c2d8c (diff)
downloadlinux-849f061c25f8951d11c7dd88f44950ccde296392.tar.bz2
genirq: Use handle_perpcu_event() in handle_percpu_irq()
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/irq/chip.c')
-rw-r--r--kernel/irq/chip.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c
index 3ccff4d55b39..52b10ad7bd59 100644
--- a/kernel/irq/chip.c
+++ b/kernel/irq/chip.c
@@ -618,19 +618,17 @@ out_unlock:
void
handle_percpu_irq(unsigned int irq, struct irq_desc *desc)
{
- irqreturn_t action_ret;
+ struct irq_chip *chip = get_irq_desc_chip(desc);
kstat_incr_irqs_this_cpu(irq, desc);
- if (desc->irq_data.chip->irq_ack)
- desc->irq_data.chip->irq_ack(&desc->irq_data);
+ if (chip->irq_ack)
+ chip->irq_ack(&desc->irq_data);
- action_ret = handle_IRQ_event(irq, desc->action);
- if (!noirqdebug)
- note_interrupt(irq, desc, action_ret);
+ handle_irq_event_percpu(desc, desc->action);
- if (desc->irq_data.chip->irq_eoi)
- desc->irq_data.chip->irq_eoi(&desc->irq_data);
+ if (chip->irq_eoi)
+ chip->irq_eoi(&desc->irq_data);
}
void