diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2011-02-07 01:08:49 +0100 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2011-02-19 12:58:11 +0100 |
commit | 4912609f228da4a3d2bfbdf0f31de3d9eab2b7f8 (patch) | |
tree | 5e0a134187b877322e730421275dc87a5b797211 /kernel/irq/internals.h | |
parent | genirq: Do not fiddle with IRQ_MASKED in handle_edge_irq() (diff) | |
download | linux-4912609f228da4a3d2bfbdf0f31de3d9eab2b7f8.tar.xz linux-4912609f228da4a3d2bfbdf0f31de3d9eab2b7f8.zip |
genirq: Implement handle_irq_event()
Core code replacement for the ugly camel case. It contains all the
code which is shared in all handlers.
clear status flags
set INPROGRESS flag
unlock
call action chain
note_interrupt
lock
clr INPROGRESS flag
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/irq/internals.h')
-rw-r--r-- | kernel/irq/internals.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/irq/internals.h b/kernel/irq/internals.h index c71fc4de0371..b61824cdadc6 100644 --- a/kernel/irq/internals.h +++ b/kernel/irq/internals.h @@ -45,6 +45,9 @@ extern void irq_disable(struct irq_desc *desc); extern void init_kstat_irqs(struct irq_desc *desc, int node, int nr); +irqreturn_t handle_irq_event_percpu(struct irq_desc *desc, struct irqaction *action); +irqreturn_t handle_irq_event(struct irq_desc *desc); + /* Resending of interrupts :*/ void check_irq_resend(struct irq_desc *desc, unsigned int irq); bool irq_wait_for_poll(struct irq_desc *desc); |