diff options
Diffstat (limited to 'include/linux/interrupt.h')
-rw-r--r-- | include/linux/interrupt.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index 35e7df1e9f30..7ca72b74eec7 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h | |||
@@ -10,7 +10,6 @@ | |||
10 | #include <linux/irqreturn.h> | 10 | #include <linux/irqreturn.h> |
11 | #include <linux/irqnr.h> | 11 | #include <linux/irqnr.h> |
12 | #include <linux/hardirq.h> | 12 | #include <linux/hardirq.h> |
13 | #include <linux/sched.h> | ||
14 | #include <linux/irqflags.h> | 13 | #include <linux/irqflags.h> |
15 | #include <linux/smp.h> | 14 | #include <linux/smp.h> |
16 | #include <linux/percpu.h> | 15 | #include <linux/percpu.h> |
@@ -50,6 +49,9 @@ | |||
50 | * IRQF_IRQPOLL - Interrupt is used for polling (only the interrupt that is | 49 | * IRQF_IRQPOLL - Interrupt is used for polling (only the interrupt that is |
51 | * registered first in an shared interrupt is considered for | 50 | * registered first in an shared interrupt is considered for |
52 | * performance reasons) | 51 | * performance reasons) |
52 | * IRQF_ONESHOT - Interrupt is not reenabled after the hardirq handler finished. | ||
53 | * Used by threaded interrupts which need to keep the | ||
54 | * irq line disabled until the threaded handler has been run. | ||
53 | */ | 55 | */ |
54 | #define IRQF_DISABLED 0x00000020 | 56 | #define IRQF_DISABLED 0x00000020 |
55 | #define IRQF_SAMPLE_RANDOM 0x00000040 | 57 | #define IRQF_SAMPLE_RANDOM 0x00000040 |
@@ -59,6 +61,7 @@ | |||
59 | #define IRQF_PERCPU 0x00000400 | 61 | #define IRQF_PERCPU 0x00000400 |
60 | #define IRQF_NOBALANCING 0x00000800 | 62 | #define IRQF_NOBALANCING 0x00000800 |
61 | #define IRQF_IRQPOLL 0x00001000 | 63 | #define IRQF_IRQPOLL 0x00001000 |
64 | #define IRQF_ONESHOT 0x00002000 | ||
62 | 65 | ||
63 | /* | 66 | /* |
64 | * Bits used by threaded handlers: | 67 | * Bits used by threaded handlers: |
@@ -80,7 +83,6 @@ typedef irqreturn_t (*irq_handler_t)(int, void *); | |||
80 | * struct irqaction - per interrupt action descriptor | 83 | * struct irqaction - per interrupt action descriptor |
81 | * @handler: interrupt handler function | 84 | * @handler: interrupt handler function |
82 | * @flags: flags (see IRQF_* above) | 85 | * @flags: flags (see IRQF_* above) |
83 | * @mask: no comment as it is useless and about to be removed | ||
84 | * @name: name of the device | 86 | * @name: name of the device |
85 | * @dev_id: cookie to identify the device | 87 | * @dev_id: cookie to identify the device |
86 | * @next: pointer to the next irqaction for shared interrupts | 88 | * @next: pointer to the next irqaction for shared interrupts |
@@ -93,7 +95,6 @@ typedef irqreturn_t (*irq_handler_t)(int, void *); | |||
93 | struct irqaction { | 95 | struct irqaction { |
94 | irq_handler_t handler; | 96 | irq_handler_t handler; |
95 | unsigned long flags; | 97 | unsigned long flags; |
96 | cpumask_t mask; | ||
97 | const char *name; | 98 | const char *name; |
98 | void *dev_id; | 99 | void *dev_id; |
99 | struct irqaction *next; | 100 | struct irqaction *next; |
@@ -344,6 +345,7 @@ enum | |||
344 | NET_TX_SOFTIRQ, | 345 | NET_TX_SOFTIRQ, |
345 | NET_RX_SOFTIRQ, | 346 | NET_RX_SOFTIRQ, |
346 | BLOCK_SOFTIRQ, | 347 | BLOCK_SOFTIRQ, |
348 | BLOCK_IOPOLL_SOFTIRQ, | ||
347 | TASKLET_SOFTIRQ, | 349 | TASKLET_SOFTIRQ, |
348 | SCHED_SOFTIRQ, | 350 | SCHED_SOFTIRQ, |
349 | HRTIMER_SOFTIRQ, | 351 | HRTIMER_SOFTIRQ, |
@@ -607,6 +609,7 @@ extern void debug_poll_all_shared_irqs(void); | |||
607 | static inline void debug_poll_all_shared_irqs(void) { } | 609 | static inline void debug_poll_all_shared_irqs(void) { } |
608 | #endif | 610 | #endif |
609 | 611 | ||
612 | struct seq_file; | ||
610 | int show_interrupts(struct seq_file *p, void *v); | 613 | int show_interrupts(struct seq_file *p, void *v); |
611 | 614 | ||
612 | struct irq_desc; | 615 | struct irq_desc; |