| From 40a34592eeeb3c00e3822b16ad8fc47a0427864f Mon Sep 17 00:00:00 2001 |
| From: Thomas Gleixner <tglx@linutronix.de> |
| Date: Fri, 24 Jul 2009 12:58:11 +0200 |
| Subject: [PATCH] genirq: Introduce IRQF_NODELAY to disable forced threading for an irq |
| |
| commit 73a269a0cfccbb16c4926ec9f8f6414177424596 in tip. |
| |
| Add the IRQF_NODELAY flag and implicitely mark all timer interrupts |
| IRQF_NODELAY by redefining IRQF_TIMER. |
| |
| [PG: bounce NODELAY up one bit since ONESHOT took old value] |
| |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h |
| index 7b43e10..54c9394 100644 |
| --- a/include/linux/interrupt.h |
| +++ b/include/linux/interrupt.h |
| @@ -52,16 +52,20 @@ |
| * IRQF_ONESHOT - Interrupt is not reenabled after the hardirq handler finished. |
| * Used by threaded interrupts which need to keep the |
| * irq line disabled until the threaded handler has been run. |
| + * IRQF_NODELAY - Interrupt is not force threaded on -rt |
| */ |
| #define IRQF_DISABLED 0x00000020 |
| #define IRQF_SAMPLE_RANDOM 0x00000040 |
| #define IRQF_SHARED 0x00000080 |
| #define IRQF_PROBE_SHARED 0x00000100 |
| -#define IRQF_TIMER 0x00000200 |
| +#define __IRQF_TIMER 0x00000200 |
| #define IRQF_PERCPU 0x00000400 |
| #define IRQF_NOBALANCING 0x00000800 |
| #define IRQF_IRQPOLL 0x00001000 |
| #define IRQF_ONESHOT 0x00002000 |
| +#define IRQF_NODELAY 0x00004000 |
| + |
| +#define IRQF_TIMER (__IRQF_TIMER | IRQF_NODELAY) |
| |
| /* |
| * Bits used by threaded handlers: |
| -- |
| 1.7.1.1 |
| |