aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2006-06-29 05:24:53 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-29 13:26:24 -0400
commitdd87eb3a24c4527741122713e223d74b85d43c85 (patch)
tree0c3796af23da908515d890a7b8fde37893eb3b2a /include/linux
parentdae8620421833bb2e9a01c4ccc42bdc3759b81df (diff)
[PATCH] genirq: add irq-chip support
Enable platforms to use the irq-chip and irq-flow abstractions: allow setting of the chip, the type and provide highlevel handlers for common irq-flows. [rostedt@goodmis.org: misroute-irq: Don't call desc->chip->end because of edge interrupts] Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/irq.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/irq.h b/include/linux/irq.h
index b40771dd114a..ca8d2a849cff 100644
--- a/include/linux/irq.h
+++ b/include/linux/irq.h
@@ -383,6 +383,17 @@ set_irq_chained_handler(unsigned int irq,
383 __set_irq_handler(irq, handle, 1); 383 __set_irq_handler(irq, handle, 1);
384} 384}
385 385
386/* Set/get chip/data for an IRQ: */
387
388extern int set_irq_chip(unsigned int irq, struct irq_chip *chip);
389extern int set_irq_data(unsigned int irq, void *data);
390extern int set_irq_chip_data(unsigned int irq, void *data);
391extern int set_irq_type(unsigned int irq, unsigned int type);
392
393#define get_irq_chip(irq) (irq_desc[irq].chip)
394#define get_irq_chip_data(irq) (irq_desc[irq].chip_data)
395#define get_irq_data(irq) (irq_desc[irq].handler_data)
396
386#endif /* CONFIG_GENERIC_HARDIRQS */ 397#endif /* CONFIG_GENERIC_HARDIRQS */
387 398
388#endif /* !CONFIG_S390 */ 399#endif /* !CONFIG_S390 */