diff options
Diffstat (limited to 'include/linux/irq.h')
-rw-r--r-- | include/linux/irq.h | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/include/linux/irq.h b/include/linux/irq.h index c64f3cc7e870..775f5a7da493 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h | |||
@@ -141,6 +141,7 @@ struct irq_chip { | |||
141 | * @pending_mask: pending rebalanced interrupts | 141 | * @pending_mask: pending rebalanced interrupts |
142 | * @dir: /proc/irq/ procfs entry | 142 | * @dir: /proc/irq/ procfs entry |
143 | * @affinity_entry: /proc/irq/smp_affinity procfs entry on SMP | 143 | * @affinity_entry: /proc/irq/smp_affinity procfs entry on SMP |
144 | * @name: flow handler name for /proc/interrupts output | ||
144 | * | 145 | * |
145 | * Pad this out to 32 bytes for cache and indexing reasons. | 146 | * Pad this out to 32 bytes for cache and indexing reasons. |
146 | */ | 147 | */ |
@@ -165,8 +166,9 @@ struct irq_desc { | |||
165 | cpumask_t pending_mask; | 166 | cpumask_t pending_mask; |
166 | #endif | 167 | #endif |
167 | #ifdef CONFIG_PROC_FS | 168 | #ifdef CONFIG_PROC_FS |
168 | struct proc_dir_entry *dir; | 169 | struct proc_dir_entry *dir; |
169 | #endif | 170 | #endif |
171 | const char *name; | ||
170 | } ____cacheline_aligned; | 172 | } ____cacheline_aligned; |
171 | 173 | ||
172 | extern struct irq_desc irq_desc[NR_IRQS]; | 174 | extern struct irq_desc irq_desc[NR_IRQS]; |
@@ -272,12 +274,6 @@ extern void fastcall handle_percpu_irq(unsigned int irq, struct irq_desc *desc); | |||
272 | extern void fastcall handle_bad_irq(unsigned int irq, struct irq_desc *desc); | 274 | extern void fastcall handle_bad_irq(unsigned int irq, struct irq_desc *desc); |
273 | 275 | ||
274 | /* | 276 | /* |
275 | * Get a descriptive string for the highlevel handler, for | ||
276 | * /proc/interrupts output: | ||
277 | */ | ||
278 | extern const char *handle_irq_name(irq_flow_handler_t handle); | ||
279 | |||
280 | /* | ||
281 | * Monolithic do_IRQ implementation. | 277 | * Monolithic do_IRQ implementation. |
282 | * (is an explicit fastcall, because i386 4KSTACKS calls it from assembly) | 278 | * (is an explicit fastcall, because i386 4KSTACKS calls it from assembly) |
283 | */ | 279 | */ |
@@ -326,10 +322,12 @@ extern struct irq_chip no_irq_chip; | |||
326 | extern struct irq_chip dummy_irq_chip; | 322 | extern struct irq_chip dummy_irq_chip; |
327 | 323 | ||
328 | extern void | 324 | extern void |
329 | set_irq_chip_and_handler(unsigned int irq, struct irq_chip *chip, | 325 | set_irq_chip_and_handler_name(unsigned int irq, struct irq_chip *chip, |
330 | irq_flow_handler_t handle); | 326 | irq_flow_handler_t handle, const char *name); |
327 | |||
331 | extern void | 328 | extern void |
332 | __set_irq_handler(unsigned int irq, irq_flow_handler_t handle, int is_chained); | 329 | __set_irq_handler(unsigned int irq, irq_flow_handler_t handle, int is_chained, |
330 | const char *name); | ||
333 | 331 | ||
334 | /* | 332 | /* |
335 | * Set a highlevel flow handler for a given IRQ: | 333 | * Set a highlevel flow handler for a given IRQ: |
@@ -337,7 +335,7 @@ __set_irq_handler(unsigned int irq, irq_flow_handler_t handle, int is_chained); | |||
337 | static inline void | 335 | static inline void |
338 | set_irq_handler(unsigned int irq, irq_flow_handler_t handle) | 336 | set_irq_handler(unsigned int irq, irq_flow_handler_t handle) |
339 | { | 337 | { |
340 | __set_irq_handler(irq, handle, 0); | 338 | __set_irq_handler(irq, handle, 0, NULL); |
341 | } | 339 | } |
342 | 340 | ||
343 | /* | 341 | /* |
@@ -349,7 +347,7 @@ static inline void | |||
349 | set_irq_chained_handler(unsigned int irq, | 347 | set_irq_chained_handler(unsigned int irq, |
350 | irq_flow_handler_t handle) | 348 | irq_flow_handler_t handle) |
351 | { | 349 | { |
352 | __set_irq_handler(irq, handle, 1); | 350 | __set_irq_handler(irq, handle, 1, NULL); |
353 | } | 351 | } |
354 | 352 | ||
355 | /* Handle dynamic irq creation and destruction */ | 353 | /* Handle dynamic irq creation and destruction */ |