diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2020-03-06 14:03:45 +0100 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2020-03-08 11:06:41 +0100 |
commit | 1f85b1f5e1f5541272abedc19ba7b6c5b564c228 (patch) | |
tree | 777fb3cb28164952979aaa23643d353dd52ee92e /kernel/irq/internals.h | |
parent | x86/apic/vector: Force interupt handler invocation to irq context (diff) | |
download | linux-dev-1f85b1f5e1f5541272abedc19ba7b6c5b564c228.tar.xz linux-dev-1f85b1f5e1f5541272abedc19ba7b6c5b564c228.zip |
genirq: Add return value to check_irq_resend()
In preparation for an interrupt injection interface which can be used
safely by error injection mechanisms. e.g. PCI-E/ AER, add a return value
to check_irq_resend() so errors can be propagated to the caller.
Split out the software resend code so the ugly #ifdef in check_irq_resend()
goes away and the whole thing becomes readable.
Fix up the caller in debugfs. The caller in irq_startup() does not care
about the return value as this is unconditionally invoked for all
interrupts and the resend is best effort anyway.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Marc Zyngier <maz@kernel.org>
Link: https://lkml.kernel.org/r/20200306130623.775200917@linutronix.de
Diffstat (limited to 'kernel/irq/internals.h')
-rw-r--r-- | kernel/irq/internals.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/irq/internals.h b/kernel/irq/internals.h index 5be382fc9415..8980859bdf1e 100644 --- a/kernel/irq/internals.h +++ b/kernel/irq/internals.h @@ -108,7 +108,7 @@ irqreturn_t handle_irq_event_percpu(struct irq_desc *desc); irqreturn_t handle_irq_event(struct irq_desc *desc); /* Resending of interrupts :*/ -void check_irq_resend(struct irq_desc *desc); +int check_irq_resend(struct irq_desc *desc); bool irq_wait_for_poll(struct irq_desc *desc); void __irq_wake_thread(struct irq_desc *desc, struct irqaction *action); |