diff options
Diffstat (limited to 'include/linux/interrupt.h')
-rw-r--r-- | include/linux/interrupt.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index e36e86c869fb..e5ea1411050b 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h | |||
@@ -12,6 +12,7 @@ | |||
12 | #include <linux/sched.h> | 12 | #include <linux/sched.h> |
13 | #include <linux/irqflags.h> | 13 | #include <linux/irqflags.h> |
14 | #include <linux/bottom_half.h> | 14 | #include <linux/bottom_half.h> |
15 | #include <linux/device.h> | ||
15 | #include <asm/atomic.h> | 16 | #include <asm/atomic.h> |
16 | #include <asm/ptrace.h> | 17 | #include <asm/ptrace.h> |
17 | #include <asm/system.h> | 18 | #include <asm/system.h> |
@@ -41,6 +42,8 @@ | |||
41 | * IRQF_SHARED - allow sharing the irq among several devices | 42 | * IRQF_SHARED - allow sharing the irq among several devices |
42 | * IRQF_PROBE_SHARED - set by callers when they expect sharing mismatches to occur | 43 | * IRQF_PROBE_SHARED - set by callers when they expect sharing mismatches to occur |
43 | * IRQF_TIMER - Flag to mark this interrupt as timer interrupt | 44 | * IRQF_TIMER - Flag to mark this interrupt as timer interrupt |
45 | * IRQF_PERCPU - Interrupt is per cpu | ||
46 | * IRQF_NOBALANCING - Flag to exclude this interrupt from irq balancing | ||
44 | */ | 47 | */ |
45 | #define IRQF_DISABLED 0x00000020 | 48 | #define IRQF_DISABLED 0x00000020 |
46 | #define IRQF_SAMPLE_RANDOM 0x00000040 | 49 | #define IRQF_SAMPLE_RANDOM 0x00000040 |
@@ -48,6 +51,7 @@ | |||
48 | #define IRQF_PROBE_SHARED 0x00000100 | 51 | #define IRQF_PROBE_SHARED 0x00000100 |
49 | #define IRQF_TIMER 0x00000200 | 52 | #define IRQF_TIMER 0x00000200 |
50 | #define IRQF_PERCPU 0x00000400 | 53 | #define IRQF_PERCPU 0x00000400 |
54 | #define IRQF_NOBALANCING 0x00000800 | ||
51 | 55 | ||
52 | /* | 56 | /* |
53 | * Migration helpers. Scheduled for removal in 1/2007 | 57 | * Migration helpers. Scheduled for removal in 1/2007 |
@@ -83,6 +87,11 @@ extern int request_irq(unsigned int, irq_handler_t handler, | |||
83 | unsigned long, const char *, void *); | 87 | unsigned long, const char *, void *); |
84 | extern void free_irq(unsigned int, void *); | 88 | extern void free_irq(unsigned int, void *); |
85 | 89 | ||
90 | extern int devm_request_irq(struct device *dev, unsigned int irq, | ||
91 | irq_handler_t handler, unsigned long irqflags, | ||
92 | const char *devname, void *dev_id); | ||
93 | extern void devm_free_irq(struct device *dev, unsigned int irq, void *dev_id); | ||
94 | |||
86 | /* | 95 | /* |
87 | * On lockdep we dont want to enable hardirqs in hardirq | 96 | * On lockdep we dont want to enable hardirqs in hardirq |
88 | * context. Use local_irq_enable_in_hardirq() to annotate | 97 | * context. Use local_irq_enable_in_hardirq() to annotate |
@@ -233,6 +242,9 @@ enum | |||
233 | BLOCK_SOFTIRQ, | 242 | BLOCK_SOFTIRQ, |
234 | TASKLET_SOFTIRQ, | 243 | TASKLET_SOFTIRQ, |
235 | SCHED_SOFTIRQ, | 244 | SCHED_SOFTIRQ, |
245 | #ifdef CONFIG_HIGH_RES_TIMERS | ||
246 | HRTIMER_SOFTIRQ, | ||
247 | #endif | ||
236 | }; | 248 | }; |
237 | 249 | ||
238 | /* softirq mask and active fields moved to irq_cpustat_t in | 250 | /* softirq mask and active fields moved to irq_cpustat_t in |