diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2006-06-29 05:24:53 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-29 13:26:24 -0400 |
commit | dd87eb3a24c4527741122713e223d74b85d43c85 (patch) | |
tree | 0c3796af23da908515d890a7b8fde37893eb3b2a /include/linux | |
parent | dae8620421833bb2e9a01c4ccc42bdc3759b81df (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.h | 11 |
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 | |||
388 | extern int set_irq_chip(unsigned int irq, struct irq_chip *chip); | ||
389 | extern int set_irq_data(unsigned int irq, void *data); | ||
390 | extern int set_irq_chip_data(unsigned int irq, void *data); | ||
391 | extern 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 */ |