diff options
author | David Howells <dhowells@redhat.com> | 2006-10-05 13:06:34 +0100 |
---|---|---|
committer | David Howells <dhowells@warthog.cambridge.redhat.com> | 2006-10-05 13:28:06 +0100 |
commit | 57a58a9435aef3e0342ba4b2c97e0ddfea6f2c7f (patch) | |
tree | 35603f6385edf3dcd20e80a2fcf4c66c7cdc34a7 /include/linux/irq.h | |
parent | d223a60106891bfe46febfacf46b20cd8509aaad (diff) | |
download | lwn-57a58a9435aef3e0342ba4b2c97e0ddfea6f2c7f.tar.gz lwn-57a58a9435aef3e0342ba4b2c97e0ddfea6f2c7f.zip |
IRQ: Typedef the IRQ flow handler function type
Typedef the IRQ flow handler function type.
Signed-Off-By: David Howells <dhowells@redhat.com>
(cherry picked from 8e973fbdf5716b93a0a8c0365be33a31ca0fa351 commit)
Diffstat (limited to 'include/linux/irq.h')
-rw-r--r-- | include/linux/irq.h | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/include/linux/irq.h b/include/linux/irq.h index 6f463606c318..b947d46e4b18 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h @@ -22,6 +22,12 @@ #include <asm/irq.h> #include <asm/ptrace.h> +struct irq_desc; +typedef void fastcall (*irq_flow_handler_t)(unsigned int irq, + struct irq_desc *desc, + struct pt_regs *regs); + + /* * IRQ line status. * @@ -139,9 +145,7 @@ struct irq_chip { * Pad this out to 32 bytes for cache and indexing reasons. */ struct irq_desc { - void fastcall (*handle_irq)(unsigned int irq, - struct irq_desc *desc, - struct pt_regs *regs); + irq_flow_handler_t handle_irq; struct irq_chip *chip; void *handler_data; void *chip_data; @@ -281,9 +285,7 @@ handle_bad_irq(unsigned int irq, struct irq_desc *desc, struct pt_regs *regs); * Get a descriptive string for the highlevel handler, for * /proc/interrupts output: */ -extern const char * -handle_irq_name(void fastcall (*handle)(unsigned int, struct irq_desc *, - struct pt_regs *)); +extern const char *handle_irq_name(irq_flow_handler_t handle); /* * Monolithic do_IRQ implementation. @@ -335,22 +337,15 @@ extern struct irq_chip dummy_irq_chip; extern void set_irq_chip_and_handler(unsigned int irq, struct irq_chip *chip, - void fastcall (*handle)(unsigned int, - struct irq_desc *, - struct pt_regs *)); + irq_flow_handler_t handle); extern void -__set_irq_handler(unsigned int irq, - void fastcall (*handle)(unsigned int, struct irq_desc *, - struct pt_regs *), - int is_chained); +__set_irq_handler(unsigned int irq, irq_flow_handler_t handle, int is_chained); /* * Set a highlevel flow handler for a given IRQ: */ static inline void -set_irq_handler(unsigned int irq, - void fastcall (*handle)(unsigned int, struct irq_desc *, - struct pt_regs *)) +set_irq_handler(unsigned int irq, irq_flow_handler_t handle) { __set_irq_handler(irq, handle, 0); } @@ -362,8 +357,7 @@ set_irq_handler(unsigned int irq, */ static inline void set_irq_chained_handler(unsigned int irq, - void fastcall (*handle)(unsigned int, struct irq_desc *, - struct pt_regs *)) + irq_flow_handler_t handle) { __set_irq_handler(irq, handle, 1); } |