static void __exit exit_parport_cs(void) { pcmcia_unregister_driver(&parport_cs_driver); /* XXX: this really needs to move into generic code.. */ while (dev_list != NULL) parport_detach(dev_list); }
static void ixj_pcmcia_exit(void) { pcmcia_unregister_driver(&ixj_driver); /* XXX: this really needs to move into generic code.. */ while (dev_list != NULL) ixj_detach(dev_list); }
void cleanup_module(void) { pcmcia_unregister_driver(&ni_mio_cs_driver); #if 0 while (cur_dev != NULL) cs_detach(cur_dev->handle); #endif comedi_driver_unregister(&driver_ni_mio_cs); }
static void __exit avmcs_exit(void) { pcmcia_unregister_driver(&avmcs_driver); /* XXX: this really needs to move into generic code.. */ while (dev_list != NULL) { if (dev_list->state & DEV_CONFIG) avmcs_release(dev_list); avmcs_detach(dev_list); } }
static void atmel_cs_cleanup(void) { pcmcia_unregister_driver(&atmel_driver); /* XXX: this really needs to move into generic code.. */ while (dev_list != NULL) { if (dev_list->state & DEV_CONFIG) atmel_release(dev_list); atmel_detach(dev_list); } }
/******************************************************************************* * wl_adapter_cleanup_module() ******************************************************************************* * * DESCRIPTION: * * Called by cleanup_module() to perform driver uninitialization. * * PARAMETERS: * * N/A * * RETURNS: * * N/A * ******************************************************************************/ void wl_adapter_cleanup_module(void) { DBG_FUNC("wl_adapter_cleanup_module"); DBG_ENTER(DbgInfo); DBG_TRACE(DbgInfo, "wl_adapter_cleanup_module() -- PCMCIA\n"); pcmcia_unregister_driver(&wlags49_driver); DBG_LEAVE(DbgInfo); return; } /* wl_adapter_cleanup_module */
//**************************************************************************** // small interface to rest of driver, only register and deinit void pcan_pccard_deinit(void) { DPRINTK(KERN_DEBUG "%s: pcan_pccard_deinit()\n", DEVICE_NAME); #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,16) pcan_unlink_pccard(); #endif #ifdef LINUX_24 unregister_pccard_driver(&pccard_info); #else if (pcan_drv.pccarddrv.drv.name) { // then it was registered // unregister pccard parts, makes a plugout of registered devices pcmcia_unregister_driver(&pcan_drv.pccarddrv); } #endif }
static void __exit avmcs_exit(void) { pcmcia_unregister_driver(&avmcs_driver); BUG_ON(dev_list != NULL); }
static void __exit exit_ide_cs(void) { pcmcia_unregister_driver(&ide_cs_driver); }
static void __exit exit_bluecard_cs(void) { pcmcia_unregister_driver(&bluecard_driver); }
static void __exit exit_spectrum_cs(void) { pcmcia_unregister_driver(&orinoco_driver); }
static int btuart_config(struct pcmcia_device *link) { btuart_info_t *info = link->priv; int i; int try; /* First pass: look for a config entry that looks normal. Two tries: without IO aliases, then with aliases */ for (try = 0; try < 2; try++) if (!pcmcia_loop_config(link, btuart_check_config, &try)) goto found_port; /* Second pass: try to find an entry that isn't picky about its base address, then try to grab any standard serial port address, and finally try to get any free port. */ if (!pcmcia_loop_config(link, btuart_check_config_notpicky, NULL)) goto found_port; BT_ERR("No usable port range found"); goto failed; found_port: i = pcmcia_request_irq(link, btuart_interrupt); if (i != 0) goto failed; i = pcmcia_enable_device(link); if (i != 0) goto failed; if (btuart_open(info) != 0) goto failed; return 0; failed: btuart_release(link); return -ENODEV; } static void btuart_release(struct pcmcia_device *link) { btuart_info_t *info = link->priv; btuart_close(info); pcmcia_disable_device(link); } static const struct pcmcia_device_id btuart_ids[] = { /* don't use this driver. Use serial_cs + hci_uart instead */ PCMCIA_DEVICE_NULL }; MODULE_DEVICE_TABLE(pcmcia, btuart_ids); static struct pcmcia_driver btuart_driver = { .owner = THIS_MODULE, .name = "btuart_cs", .probe = btuart_probe, .remove = btuart_detach, .id_table = btuart_ids, }; static int __init init_btuart_cs(void) { return pcmcia_register_driver(&btuart_driver); } static void __exit exit_btuart_cs(void) { pcmcia_unregister_driver(&btuart_driver); } module_init(init_btuart_cs); module_exit(exit_btuart_cs);
static void __exit exit_elsa_cs(void) { pcmcia_unregister_driver(&elsa_cs_driver); }
static void __exit avmcs_exit(void) { pcmcia_unregister_driver(&avmcs_driver); }
static void __exit exit_labpc_cs(void) { DEBUG(0, "ni_labpc: unloading\n"); pcmcia_unregister_driver(&labpc_cs_driver); }
static void __exit exit_pdacf(void) { pcmcia_unregister_driver(&pdacf_cs_driver); }
static void __exit exit_sl811_cs(void) { pcmcia_unregister_driver(&sl811_cs_driver); }
static void airo_cs_cleanup(void) { pcmcia_unregister_driver(&airo_driver); }
static void __exit exit_btuart_cs(void) { pcmcia_unregister_driver(&btuart_driver); }
static void __exit exit_prism2_pccard(void) { pcmcia_unregister_driver(&hostap_driver); printk(KERN_INFO "%s: Driver unloaded\n", dev_info); }
static void __exit exit_aha152x_cs(void) { pcmcia_unregister_driver(&aha152x_cs_driver); BUG_ON(dev_list != NULL); }
void ines_pcmcia_cleanup_module(void) { DEBUG(0, "ines_cs: unloading\n"); pcmcia_unregister_driver(&ines_gpib_cs_driver); }
static void __exit pcan_exit(void) { pcmcia_unregister_driver(&pcan_driver); }
static void ixj_pcmcia_exit(void) { pcmcia_unregister_driver(&ixj_driver); }
static void __exit exit_prism2_pccard(void) { pcmcia_unregister_driver(&hostap_driver); }
static void __exit exit_fdomain_cs(void) { pcmcia_unregister_driver(&fdomain_cs_driver); BUG_ON(dev_list != NULL); }
static void __exit exit_avma1_cs(void) { pcmcia_unregister_driver(&avma1cs_driver); }
static void __exit exit_vxpocket(void) { pcmcia_unregister_driver(&vxp_cs_driver); }
static void __exit exit_com20020_cs(void) { pcmcia_unregister_driver(&com20020_cs_driver); }
static void __exit exit_parport_cs(void) { pcmcia_unregister_driver(&parport_cs_driver); }