diff options
author | Ingo Molnar <mingo@elte.hu> | 2006-06-29 05:24:41 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-29 13:26:22 -0400 |
commit | 71d218b75fa91219c6bd310fbdd257dfbcac6c88 (patch) | |
tree | ec350128251756db243ad046a11ee732a00a5f07 /include/linux/irq.h | |
parent | 34ffdb7233d5847808d2b63ca6761dac3af9c942 (diff) |
[PATCH] genirq: cleanup: include/linux/irq.h
Small cleanups in include/linux/irq.h.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/irq.h')
-rw-r--r-- | include/linux/irq.h | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/include/linux/irq.h b/include/linux/irq.h index 9ce276a2374a..c13f23dee286 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h | |||
@@ -45,17 +45,17 @@ | |||
45 | * to describe about the low-level hardware. | 45 | * to describe about the low-level hardware. |
46 | */ | 46 | */ |
47 | struct hw_interrupt_type { | 47 | struct hw_interrupt_type { |
48 | const char *typename; | 48 | const char *typename; |
49 | unsigned int (*startup)(unsigned int irq); | 49 | unsigned int (*startup)(unsigned int irq); |
50 | void (*shutdown)(unsigned int irq); | 50 | void (*shutdown)(unsigned int irq); |
51 | void (*enable)(unsigned int irq); | 51 | void (*enable)(unsigned int irq); |
52 | void (*disable)(unsigned int irq); | 52 | void (*disable)(unsigned int irq); |
53 | void (*ack)(unsigned int irq); | 53 | void (*ack)(unsigned int irq); |
54 | void (*end)(unsigned int irq); | 54 | void (*end)(unsigned int irq); |
55 | void (*set_affinity)(unsigned int irq, cpumask_t dest); | 55 | void (*set_affinity)(unsigned int irq, cpumask_t dest); |
56 | /* Currently used only by UML, might disappear one day.*/ | 56 | /* Currently used only by UML, might disappear one day.*/ |
57 | #ifdef CONFIG_IRQ_RELEASE_METHOD | 57 | #ifdef CONFIG_IRQ_RELEASE_METHOD |
58 | void (*release)(unsigned int irq, void *dev_id); | 58 | void (*release)(unsigned int irq, void *dev_id); |
59 | #endif | 59 | #endif |
60 | }; | 60 | }; |
61 | 61 | ||
@@ -69,19 +69,19 @@ typedef struct hw_interrupt_type hw_irq_controller; | |||
69 | * Pad this out to 32 bytes for cache and indexing reasons. | 69 | * Pad this out to 32 bytes for cache and indexing reasons. |
70 | */ | 70 | */ |
71 | struct irq_desc { | 71 | struct irq_desc { |
72 | hw_irq_controller *chip; | 72 | hw_irq_controller *chip; |
73 | void *chip_data; | 73 | void *chip_data; |
74 | struct irqaction *action; /* IRQ action list */ | 74 | struct irqaction *action; /* IRQ action list */ |
75 | unsigned int status; /* IRQ status */ | 75 | unsigned int status; /* IRQ status */ |
76 | unsigned int depth; /* nested irq disables */ | 76 | unsigned int depth; /* nested irq disables */ |
77 | unsigned int irq_count; /* For detecting broken interrupts */ | 77 | unsigned int irq_count; /* For detecting broken IRQs */ |
78 | unsigned int irqs_unhandled; | 78 | unsigned int irqs_unhandled; |
79 | spinlock_t lock; | 79 | spinlock_t lock; |
80 | #ifdef CONFIG_SMP | 80 | #ifdef CONFIG_SMP |
81 | cpumask_t affinity; | 81 | cpumask_t affinity; |
82 | #endif | 82 | #endif |
83 | #if defined(CONFIG_GENERIC_PENDING_IRQ) || defined(CONFIG_IRQBALANCE) | 83 | #if defined(CONFIG_GENERIC_PENDING_IRQ) || defined(CONFIG_IRQBALANCE) |
84 | unsigned int move_irq; /* Flag need to re-target intr dest*/ | 84 | unsigned int move_irq; /* need to re-target IRQ dest */ |
85 | #endif | 85 | #endif |
86 | } ____cacheline_aligned; | 86 | } ____cacheline_aligned; |
87 | 87 | ||
@@ -186,6 +186,15 @@ static inline void set_balance_irq_affinity(unsigned int irq, cpumask_t mask) | |||
186 | } | 186 | } |
187 | #endif | 187 | #endif |
188 | 188 | ||
189 | #ifdef CONFIG_AUTO_IRQ_AFFINITY | ||
190 | extern int select_smp_affinity(unsigned int irq); | ||
191 | #else | ||
192 | static inline int select_smp_affinity(unsigned int irq) | ||
193 | { | ||
194 | return 1; | ||
195 | } | ||
196 | #endif | ||
197 | |||
189 | extern int no_irq_affinity; | 198 | extern int no_irq_affinity; |
190 | extern int noirqdebug_setup(char *str); | 199 | extern int noirqdebug_setup(char *str); |
191 | 200 | ||
@@ -202,15 +211,6 @@ extern int can_request_irq(unsigned int irq, unsigned long irqflags); | |||
202 | 211 | ||
203 | extern void init_irq_proc(void); | 212 | extern void init_irq_proc(void); |
204 | 213 | ||
205 | #ifdef CONFIG_AUTO_IRQ_AFFINITY | ||
206 | extern int select_smp_affinity(unsigned int irq); | ||
207 | #else | ||
208 | static inline int select_smp_affinity(unsigned int irq) | ||
209 | { | ||
210 | return 1; | ||
211 | } | ||
212 | #endif | ||
213 | |||
214 | #endif /* CONFIG_GENERIC_HARDIRQS */ | 214 | #endif /* CONFIG_GENERIC_HARDIRQS */ |
215 | 215 | ||
216 | extern hw_irq_controller no_irq_type; /* needed in every arch ? */ | 216 | extern hw_irq_controller no_irq_type; /* needed in every arch ? */ |