void cleanup_module(void) { if (!(this_port->flags & PARPORT_FLAG_COMA)) parport_quiesce(this_port); parport_proc_unregister(this_port); parport_unregister_port(this_port); }
void __exit parport_amiga_exit(void) { if (this_port->irq != PARPORT_IRQ_NONE) free_irq(IRQ_AMIGA_CIAA_FLG, this_port); parport_proc_unregister(this_port); parport_unregister_port(this_port); release_mem_region(CIAA_PHYSADDR-1+0x100, 0x100); }
void cleanup_module(void) { struct parport *p = parport_enumerate(), *tmp; while (p) { tmp = p->next; if (p->modes & PARPORT_MODE_PCSPP) { if (!(p->flags & PARPORT_FLAG_COMA)) parport_quiesce(p); parport_proc_unregister(p); parport_unregister_port(p); } p = tmp; } }
void __exit parport_etrax_exit(void) { int i; struct etrax100par_struct *info; for (i = 0, info = port_table; i < NR_PORTS; i++, info++) { #ifndef CONFIG_ETRAX_PARALLEL_PORT0 if (i == 0) continue; #endif #ifndef CONFIG_ETRAX_PARALLEL_PORT1 if (i == 1) continue; #endif if (info->int_irq != PARPORT_IRQ_NONE) free_irq(info->int_irq, info->port); parport_proc_unregister(info->port); parport_unregister_port(info->port); } }
void cleanup_module(void) { struct parport *p = parport_enumerate(); while (p) { struct parport *next = p->next; if (1/*p->modes & PARPORT_MODE_PCSPP*/) { struct parport_operations *ops = p->ops; if (p->irq != PARPORT_IRQ_NONE) { parport_sunbpp_disable_irq(p); free_irq(p->irq, p); } sbus_iounmap(p->base, p->size); parport_proc_unregister(p); parport_unregister_port(p); kfree (ops); } p = next; } }
void parport_cs_release(u_long arg) { dev_link_t *link = (dev_link_t *)arg; parport_info_t *info = link->priv; DEBUG(0, "parport_release(0x%p)\n", link); if (info->ndev) { struct parport *p = info->port; parport_proc_unregister(p); kfree(p->private_data); parport_unregister_port(p); } info->ndev = 0; link->dev = NULL; CardServices(ReleaseConfiguration, link->handle); CardServices(ReleaseIO, link->handle, &link->io); CardServices(ReleaseIRQ, link->handle, &link->irq); link->state &= ~DEV_CONFIG; } /* parport_cs_release */