diff options
author | Jeff Garzik <jeff@garzik.org> | 2007-10-19 01:42:14 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-10-23 19:53:15 -0400 |
commit | 3f2e40df0e1d7694224c3083b0bebd129039a40a (patch) | |
tree | 3d0d8c2a9dd1f873e5638a132abc5d40c6ff583b /include | |
parent | 01e7ae8c13bb06a2ce622ebace33bb7e28ef596c (diff) |
[PARPORT] Consolidate code copies into a single generic irq handler
Several arches used the exact same code for their parport irq handling.
Make that code generic, in parport_irq_handler().
Also, s/__inline__/inline/ in include/linux/parport.h.
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/parport.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/include/linux/parport.h b/include/linux/parport.h index ec3f7659832..66026eab10c 100644 --- a/include/linux/parport.h +++ b/include/linux/parport.h @@ -100,6 +100,7 @@ typedef enum { #include <linux/proc_fs.h> #include <linux/spinlock.h> #include <linux/wait.h> +#include <linux/irqreturn.h> #include <asm/system.h> #include <asm/ptrace.h> #include <asm/semaphore.h> @@ -366,6 +367,9 @@ extern void parport_unregister_driver (struct parport_driver *); extern struct parport *parport_find_number (int); extern struct parport *parport_find_base (unsigned long); +/* generic irq handler, if it suits your needs */ +extern irqreturn_t parport_irq_handler(int irq, void *dev_id); + /* Reference counting for ports. */ extern struct parport *parport_get_port (struct parport *); extern void parport_put_port (struct parport *); @@ -514,7 +518,7 @@ extern void parport_daisy_deselect_all (struct parport *port); extern int parport_daisy_select (struct parport *port, int daisy, int mode); /* Lowlevel drivers _can_ call this support function to handle irqs. */ -static __inline__ void parport_generic_irq(int irq, struct parport *port) +static inline void parport_generic_irq(int irq, struct parport *port) { parport_ieee1284_interrupt (irq, port); read_lock(&port->cad_lock); |