aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/interrupt.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/interrupt.h')
-rw-r--r--include/linux/interrupt.h12
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 *);
84extern void free_irq(unsigned int, void *); 88extern void free_irq(unsigned int, void *);
85 89
90extern 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);
93extern 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