]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/parport/parport_mfc3.c
net: unix: fix inflight counting bug in garbage collector
[linux-2.6-omap-h63xx.git] / drivers / parport / parport_mfc3.c
index c85364765ef842c3fc222a781152b82a56cf5958..6dec9ba5ed28fe07aeaf667a00d125c1e27d3a7c 100644 (file)
@@ -211,7 +211,7 @@ static void mfc3_change_mode( struct parport *p, int m)
 
 static int use_cnt = 0;
 
-static irqreturn_t mfc3_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t mfc3_interrupt(int irq, void *dev_id)
 {
        int i;
 
@@ -219,7 +219,7 @@ static irqreturn_t mfc3_interrupt(int irq, void *dev_id, struct pt_regs *regs)
                if (this_port[i] != NULL)
                        if (pia(this_port[i])->crb & 128) { /* Board caused interrupt */
                                dummy = pia(this_port[i])->pprb; /* clear irq bit */
-                               parport_generic_irq(irq, this_port[i], regs);
+                               parport_generic_irq(this_port[i]);
                        }
        return IRQ_HANDLED;
 }
@@ -353,9 +353,10 @@ static int __init parport_mfc3_init(void)
 
                if (p->irq != PARPORT_IRQ_NONE) {
                        if (use_cnt++ == 0)
-                               if (request_irq(IRQ_AMIGA_PORTS, mfc3_interrupt, SA_SHIRQ, p->name, &pp_mfc3_ops))
+                               if (request_irq(IRQ_AMIGA_PORTS, mfc3_interrupt, IRQF_SHARED, p->name, &pp_mfc3_ops))
                                        goto out_irq;
                }
+               p->dev = &z->dev;
 
                this_port[pias++] = p;
                printk(KERN_INFO "%s: Multiface III port using irq\n", p->name);