summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-02-23 23:52:18 +0000
committerThomas Gleixner <tglx@linutronix.de>2011-02-25 20:24:22 +0100
commit0c4602ff88d6d6ef0ee6d228ee9acaa6448ff6f5 (patch)
tree0845c74ff325bee5dfc2db5c0ade08eb7dbb9ee7
parent9d591edd02a245305b1b9379e4c5571bad4d2774 (diff)
downloadop-kernel-dev-0c4602ff88d6d6ef0ee6d228ee9acaa6448ff6f5.zip
op-kernel-dev-0c4602ff88d6d6ef0ee6d228ee9acaa6448ff6f5.tar.gz
genirq: Add IRQF_NO_THREAD
Some low level interrupts cannot be threaded even when we force thread all interrupt handlers. Add a flag to annotate such interrupts. Add all timer interrupts to this category by default. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> LKML-Reference: <20110223234956.578893460@linutronix.de>
-rw-r--r--include/linux/interrupt.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
index e116fef..0fc3eb9 100644
--- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h
@@ -58,6 +58,7 @@
* irq line disabled until the threaded handler has been run.
* IRQF_NO_SUSPEND - Do not disable this IRQ during suspend
* IRQF_FORCE_RESUME - Force enable it on resume even if IRQF_NO_SUSPEND is set
+ * IRQF_NO_THREAD - Interrupt cannot be threaded
*/
#define IRQF_DISABLED 0x00000020
#define IRQF_SAMPLE_RANDOM 0x00000040
@@ -70,8 +71,9 @@
#define IRQF_ONESHOT 0x00002000
#define IRQF_NO_SUSPEND 0x00004000
#define IRQF_FORCE_RESUME 0x00008000
+#define IRQF_NO_THREAD 0x00010000
-#define IRQF_TIMER (__IRQF_TIMER | IRQF_NO_SUSPEND)
+#define IRQF_TIMER (__IRQF_TIMER | IRQF_NO_SUSPEND | IRQF_NO_THREAD)
/*
* These values can be returned by request_any_context_irq() and
OpenPOWER on IntegriCloud