aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/irq.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/irq.h')
-rw-r--r--include/linux/irq.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/include/linux/irq.h b/include/linux/irq.h
index 92c685414622..9ce276a2374a 100644
--- a/include/linux/irq.h
+++ b/include/linux/irq.h
@@ -68,7 +68,7 @@ typedef struct hw_interrupt_type hw_irq_controller;
68 * 68 *
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 */
71typedef struct irq_desc { 71struct 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 */
@@ -83,11 +83,19 @@ typedef struct irq_desc {
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; /* Flag need to re-target intr dest*/
85#endif 85#endif
86} ____cacheline_aligned irq_desc_t; 86} ____cacheline_aligned;
87 87
88extern irq_desc_t irq_desc [NR_IRQS]; 88extern struct irq_desc irq_desc[NR_IRQS];
89 89
90#include <asm/hw_irq.h> /* the arch dependent stuff */ 90/*
91 * Migration helpers for obsolete names, they will go away:
92 */
93typedef struct irq_desc irq_desc_t;
94
95/*
96 * Pick up the arch-dependent methods:
97 */
98#include <asm/hw_irq.h>
91 99
92extern int setup_irq(unsigned int irq, struct irqaction *new); 100extern int setup_irq(unsigned int irq, struct irqaction *new);
93 101
@@ -188,7 +196,7 @@ extern irqreturn_t handle_IRQ_event(unsigned int irq, struct pt_regs *regs,
188 */ 196 */
189extern fastcall unsigned int __do_IRQ(unsigned int irq, struct pt_regs *regs); 197extern fastcall unsigned int __do_IRQ(unsigned int irq, struct pt_regs *regs);
190 198
191extern void note_interrupt(unsigned int irq, irq_desc_t *desc, 199extern void note_interrupt(unsigned int irq, struct irq_desc *desc,
192 int action_ret, struct pt_regs *regs); 200 int action_ret, struct pt_regs *regs);
193extern int can_request_irq(unsigned int irq, unsigned long irqflags); 201extern int can_request_irq(unsigned int irq, unsigned long irqflags);
194 202