patch-2.3.6 linux/drivers/misc/parport_mfc3.c
Next file: linux/drivers/misc/parport_pc.c
Previous file: linux/drivers/misc/parport_init.c
Back to the patch index
Back to the overall index
- Lines: 54
- Date:
Thu Jun 3 16:21:47 1999
- Orig file:
v2.3.5/linux/drivers/misc/parport_mfc3.c
- Orig date:
Tue May 11 09:55:49 1999
diff -u --recursive --new-file v2.3.5/linux/drivers/misc/parport_mfc3.c linux/drivers/misc/parport_mfc3.c
@@ -217,22 +217,9 @@
}
}
-static void mfc3_release_resources(struct parport *p)
-{
-DPRINTK("realease_resources\n");
- if (p->irq != PARPORT_IRQ_NONE)
- if (--use_cnt == 0)
- free_irq(IRQ_AMIGA_PORTS, &pp_mfc3_ops);
-}
-
static int mfc3_claim_resources(struct parport *p)
{
DPRINTK("claim_resources\n");
- if (p->irq != PARPORT_IRQ_NONE)
- if (use_cnt++ == 0)
- if (request_irq(IRQ_AMIGA_PORTS, mfc3_interrupt, 0, p->name, &pp_mfc3_ops))
- return use_cnt--;
- return 0;
}
static void mfc3_init_state(struct parport_state *s)
@@ -379,11 +366,17 @@
printk(KERN_INFO "%s: Multiface III port using irq\n", p->name);
/* XXX: set operating mode */
parport_proc_register(p);
- p->flags |= PARPORT_FLAG_COMA;
+
+ if (p->irq != PARPORT_IRQ_NONE)
+ if (use_cnt++ == 0)
+ if (request_irq(IRQ_AMIGA_PORTS, mfc3_interrupt, 0, p->name, &pp_mfc3_ops))
+ use_cnt--;
+
if (parport_probe_hook)
(*parport_probe_hook)(p);
zorro_config_board(key, 0);
p->private_data = (void *)key;
+ parport_announce_port (p);
}
}
}
@@ -408,8 +401,9 @@
for (i = 0; i < MAX_MFC; i++)
if (this_port[i] != NULL) {
- if (!(this_port[i]->flags & PARPORT_FLAG_COMA))
- parport_quiesce(this_port[i]);
+ if (p->irq != PARPORT_IRQ_NONE)
+ if (--use_cnt == 0)
+ free_irq(IRQ_AMIGA_PORTS, &pp_mfc3_ops);
parport_proc_unregister(this_port[i]);
parport_unregister_port(this_port[i]);
zorro_unconfig_board((unsigned int)this_port[i]->private_data, 0);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)