X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fparport%2Fshare.c;h=a8a62bbbb5769c61446386205c64266887793d5d;hb=e5dd3cbd81aad69bdf773ab63c06fbaabc2b767a;hp=bbbfd79adbafc84788d02003703e4238d15735ba;hpb=74d89c16735d83349ea74232031819e989a49156;p=linux-2.6 diff --git a/drivers/parport/share.c b/drivers/parport/share.c index bbbfd79adb..a8a62bbbb5 100644 --- a/drivers/parport/share.c +++ b/drivers/parport/share.c @@ -17,7 +17,6 @@ #undef PARPORT_DEBUG_SHARING /* undef for production */ -#include #include #include #include @@ -218,7 +217,7 @@ static void free_port (struct parport *port) * parport_get_port - increment a port's reference count * @port: the port * - * This ensure's that a struct parport pointer remains valid + * This ensures that a struct parport pointer remains valid * until the matching parport_put_port() call. **/ @@ -366,6 +365,11 @@ void parport_announce_port (struct parport *port) parport_daisy_init(port); #endif + if (!port->dev) + printk(KERN_WARNING "%s: fix this legacy " + "no-device port driver!\n", + port->name); + parport_proc_register(port); mutex_lock(®istration_lock); spin_lock_irq(&parportlist_lock); @@ -520,7 +524,7 @@ void parport_remove_port(struct parport *port) struct pardevice * parport_register_device(struct parport *port, const char *name, int (*pf)(void *), void (*kf)(void *), - void (*irq_func)(int, void *, struct pt_regs *), + void (*irq_func)(void *), int flags, void *handle) { struct pardevice *tmp; @@ -991,6 +995,15 @@ void parport_release(struct pardevice *dev) } } +irqreturn_t parport_irq_handler(int irq, void *dev_id) +{ + struct parport *port = dev_id; + + parport_generic_irq(port); + + return IRQ_HANDLED; +} + /* Exported symbols for modules. */ EXPORT_SYMBOL(parport_claim); @@ -1007,5 +1020,6 @@ EXPORT_SYMBOL(parport_get_port); EXPORT_SYMBOL(parport_put_port); EXPORT_SYMBOL(parport_find_number); EXPORT_SYMBOL(parport_find_base); +EXPORT_SYMBOL(parport_irq_handler); MODULE_LICENSE("GPL");