summaryrefslogtreecommitdiff
path: root/include/linux/irq.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2006-06-29 02:24:40 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-29 10:26:22 -0700
commit34ffdb7233d5847808d2b63ca6761dac3af9c942 (patch)
tree3eb73aae034729eac24f7f2ee809ba913b32a51b /include/linux/irq.h
parent06fcb0c6fb3aae9570a32ac3b72a8222563baa69 (diff)
downloadlwn-34ffdb7233d5847808d2b63ca6761dac3af9c942.tar.gz
lwn-34ffdb7233d5847808d2b63ca6761dac3af9c942.zip
[PATCH] genirq: cleanup: reduce irq_desc_t use, mark it obsolete
Cleanup: remove irq_desc_t use from the generic IRQ code, and mark it obsolete. 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.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;
*
* Pad this out to 32 bytes for cache and indexing reasons.
*/
-typedef struct irq_desc {
+struct irq_desc {
hw_irq_controller *chip;
void *chip_data;
struct irqaction *action; /* IRQ action list */
@@ -83,11 +83,19 @@ typedef struct irq_desc {
#if defined(CONFIG_GENERIC_PENDING_IRQ) || defined(CONFIG_IRQBALANCE)
unsigned int move_irq; /* Flag need to re-target intr dest*/
#endif
-} ____cacheline_aligned irq_desc_t;
+} ____cacheline_aligned;
-extern irq_desc_t irq_desc [NR_IRQS];
+extern struct irq_desc irq_desc[NR_IRQS];
-#include <asm/hw_irq.h> /* the arch dependent stuff */
+/*
+ * Migration helpers for obsolete names, they will go away:
+ */
+typedef struct irq_desc irq_desc_t;
+
+/*
+ * Pick up the arch-dependent methods:
+ */
+#include <asm/hw_irq.h>
extern int setup_irq(unsigned int irq, struct irqaction *new);
@@ -188,7 +196,7 @@ extern irqreturn_t handle_IRQ_event(unsigned int irq, struct pt_regs *regs,
*/
extern fastcall unsigned int __do_IRQ(unsigned int irq, struct pt_regs *regs);
-extern void note_interrupt(unsigned int irq, irq_desc_t *desc,
+extern void note_interrupt(unsigned int irq, struct irq_desc *desc,
int action_ret, struct pt_regs *regs);
extern int can_request_irq(unsigned int irq, unsigned long irqflags);