diff options
-rw-r--r-- | include/linux/interrupt.h | 4 | ||||
-rw-r--r-- | kernel/irq/manage.c | 11 |
2 files changed, 13 insertions, 2 deletions
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index 85646ecf6a90..203c43d3e1b8 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h @@ -356,9 +356,9 @@ static inline int disable_irq_wake(unsigned int irq) #ifdef CONFIG_IRQ_FORCED_THREADING -#define force_irqthreads (true) +extern bool force_irqthreads; #else -#define force_irqthreads (false) +#define force_irqthreads (0) #endif #ifndef __ARCH_SET_SOFTIRQ_PENDING diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index 1b7461dae5ae..ebb8a9e937fa 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -21,6 +21,17 @@ #include "internals.h" +#ifdef CONFIG_IRQ_FORCED_THREADING +__read_mostly bool force_irqthreads; + +static int __init setup_forced_irqthreads(char *arg) +{ + force_irqthreads = true; + return 0; +} +early_param("threadirqs", setup_forced_irqthreads); +#endif + /** * synchronize_irq - wait for pending IRQ handlers (on other CPUs) * @irq: interrupt number to wait for |