aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/interrupt.h
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2009-12-07 01:28:35 -0500
committerFrederic Weisbecker <fweisbec@gmail.com>2009-12-07 01:29:22 -0500
commit6548698f929814375fa5d62ae1db96959b0418c1 (patch)
tree340924ae82cb0946aa15045b2b72186de52a8146 /include/linux/interrupt.h
parent1d2c6cfd40b2dece3bb958cbbc405a2c1536ab75 (diff)
parent22763c5cf3690a681551162c15d34d935308c8d7 (diff)
Merge commit 'v2.6.32' into reiserfs/kill-bkl
Merge-reason: The tree was based 2.6.31. It's better to be up to date with 2.6.32. Although no conflicting changes were made in between, it gives benchmarking results closer to the lastest kernel behaviour.
Diffstat (limited to 'include/linux/interrupt.h')
-rw-r--r--include/linux/interrupt.h9
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 *);
93struct irqaction { 95struct 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);
607static inline void debug_poll_all_shared_irqs(void) { } 609static inline void debug_poll_all_shared_irqs(void) { }
608#endif 610#endif
609 611
612struct seq_file;
610int show_interrupts(struct seq_file *p, void *v); 613int show_interrupts(struct seq_file *p, void *v);
611 614
612struct irq_desc; 615struct irq_desc;