static int __init cmos_init(void) { int retval = 0; #ifdef CONFIG_PNP retval = pnp_register_driver(&cmos_pnp_driver); if (retval == 0) pnp_driver_registered = true; #endif if (!cmos_rtc.dev) { retval = platform_driver_probe(&cmos_platform_driver, cmos_platform_probe); if (retval == 0) platform_driver_registered = true; } if (retval == 0) return 0; #ifdef CONFIG_PNP if (pnp_driver_registered) pnp_unregister_driver(&cmos_pnp_driver); #endif return retval; }
static void __exit hisax_fcpcipnp_exit(void) { #ifdef __ISAPNP__ pnp_unregister_driver(&fcpnp_driver); #endif pci_unregister_driver(&fcpci_driver); }
static void __exit fmr2_exit(void) { if (pnp_registered) pnp_unregister_driver(&fmr2_pnp_driver); if (isa_registered) isa_unregister_driver(&fmr2_isa_driver); }
static void __exit hisax_fcpcipnp_exit(void) { #ifdef CONFIG_PNP pnp_unregister_driver(&fcpnp_driver); #endif pci_unregister_driver(&fcpci_driver); }
static void __exit generic_NCR5380_exit(void) { #ifdef CONFIG_PNP if (pnp_registered) pnp_unregister_driver(&generic_NCR5380_pnp_driver); #endif if (isa_registered) isa_unregister_driver(&generic_NCR5380_isa_driver); }
static void __exit cmos_exit(void) { #ifdef CONFIG_PNP if (pnp_driver_registered) pnp_unregister_driver(&cmos_pnp_driver); #endif if (platform_driver_registered) platform_driver_unregister(&cmos_platform_driver); }
static void __init_or_module snd_mpu401_unregister_all(void) { int i; if (pnp_registered) pnp_unregister_driver(&snd_mpu401_pnp_driver); for (i = 0; i < ARRAY_SIZE(platform_devices); ++i) platform_device_unregister(platform_devices[i]); platform_driver_unregister(&snd_mpu401_driver); }
static void __exit cmos_exit(void) { #ifdef CONFIG_PNP if (pnp_platform_devices) pnp_unregister_driver(&cmos_pnp_driver); else platform_driver_unregister(&cmos_platform_driver); #else platform_driver_unregister(&cmos_platform_driver); #endif /* CONFIG_PNP */ }
static void __exit sc1200wdt_exit(void) { misc_deregister(&sc1200wdt_miscdev); unregister_reboot_notifier(&sc1200wdt_notifier); #if defined CONFIG_PNP if (isapnp) pnp_unregister_driver(&scl200wdt_pnp_driver); else #endif release_region(io, io_len); }
/* Cleanup when removing the module */ void c2_exit(void) { if (irq) { free_irq(irq, NULL); } #ifdef USE_PNP pnp_unregister_driver(&c2_pnp_driver); #else release_region(io_base,0x10); #endif unregister_chrdev(Major, DEVICE_NAME); }
/** Cleanup module */ static void rtcan_peak_dng_exit(void) { int i; struct rtcan_device *dev; for (i = 0, dev = rtcan_peak_dng_devs[i]; i < RTCAN_PEAK_DNG_MAX_DEV && dev != NULL; i++) rtcan_peak_dng_exit_one(dev); if (pnp_registered) pnp_unregister_driver(&rtcan_peak_dng_pnp_driver); }
/** Cleanup module */ static void rtcan_peak_dng_exit(void) { int i; struct rtcan_device *dev; for (i = 0, dev = rtcan_peak_dng_devs[i]; i < RTCAN_PEAK_DNG_MAX_DEV && dev != NULL; i++) rtcan_peak_dng_exit_one(dev); #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) if (pnp_registered) pnp_unregister_driver(&rtcan_peak_dng_pnp_driver); #endif /* Linux >= 2.6.0 */ }
static void __exit nsc_ircc_cleanup(void) { int i; for (i = 0; i < ARRAY_SIZE(dev_self); i++) { if (dev_self[i]) nsc_ircc_close(dev_self[i]); } platform_driver_unregister(&nsc_ircc_driver); if (pnp_registered) pnp_unregister_driver(&nsc_ircc_pnp_driver); pnp_registered = 0; }
static int __init cmos_init(void) { int retval = 0; #ifdef CONFIG_PNP pnp_register_driver(&cmos_pnp_driver); #endif if (!cmos_rtc.dev) retval = platform_driver_register(&cmos_platform_driver); if (retval == 0) return 0; #ifdef CONFIG_PNP pnp_unregister_driver(&cmos_pnp_driver); #endif return retval; }
static void __exit isapnp_exit(void) { pnp_unregister_driver(&isapnp_driver); }
static void __exit serial8250_pnp_exit(void) { pnp_unregister_driver(&serial_pnp_driver); }
static void __exit cmos_exit(void) { pnp_unregister_driver(&cmos_pnp_driver); }
static int __init sc1200wdt_init(void) { int ret; printk(KERN_INFO "%s\n", banner); #if defined CONFIG_PNP if (isapnp) { ret = pnp_register_driver(&scl200wdt_pnp_driver); if (ret) goto out_clean; } #endif if (io == -1) { printk(KERN_ERR PFX "io parameter must be specified\n"); ret = -EINVAL; goto out_pnp; } #if defined CONFIG_PNP /* now that the user has specified an IO port and we haven't detected * any devices, disable pnp support */ isapnp = 0; pnp_unregister_driver(&scl200wdt_pnp_driver); #endif if (!request_region(io, io_len, SC1200_MODULE_NAME)) { printk(KERN_ERR PFX "Unable to register IO port %#x\n", io); ret = -EBUSY; goto out_pnp; } ret = sc1200wdt_probe(); if (ret) goto out_io; ret = register_reboot_notifier(&sc1200wdt_notifier); if (ret) { printk(KERN_ERR PFX "Unable to register reboot notifier err = %d\n", ret); goto out_io; } ret = misc_register(&sc1200wdt_miscdev); if (ret) { printk(KERN_ERR PFX "Unable to register miscdev on minor %d\n", WATCHDOG_MINOR); goto out_rbt; } /* ret = 0 */ out_clean: return ret; out_rbt: unregister_reboot_notifier(&sc1200wdt_notifier); out_io: release_region(io, io_len); out_pnp: #if defined CONFIG_PNP if (isapnp) pnp_unregister_driver(&scl200wdt_pnp_driver); #endif goto out_clean; }
static void __exit pnpide_exit(void) { pnp_unregister_driver(&idepnp_driver); }
static void c6xdigio_detach(struct comedi_device *dev) { comedi_legacy_detach(dev); pnp_unregister_driver(&c6xdigio_pnp_driver); }
static void __exit sb1000_exit(void) { pnp_unregister_driver(&sb1000_driver); }
static void ite_exit(void) { pnp_unregister_driver(&ite_driver); }
static void __exit fintek_exit(void) { pnp_unregister_driver(&fintek_driver); }
void fintek_exit(void) { pnp_unregister_driver(&fintek_driver); }
void rtapi_app_exit(void) { if (pnp_registered_parport) pnp_unregister_driver (&parport_pc_pnp_driver); hal_exit(comp_id); }
static void __exit apple_gmux_exit(void) { pnp_unregister_driver(&gmux_pnp_driver); }
static void __exit soc_button_exit(void) { pnp_unregister_driver(&soc_button_pnp_driver); }
static int __init nsc_ircc_init(void) { chipio_t info; nsc_chip_t *chip; int ret; int cfg_base; int cfg, id; int reg; int i = 0; ret = platform_driver_register(&nsc_ircc_driver); if (ret) { IRDA_ERROR("%s, Can't register driver!\n", driver_name); return ret; } ret = pnp_register_driver(&nsc_ircc_pnp_driver); if (!ret) pnp_registered = 1; ret = -ENODEV; for (chip = chips; chip->name ; chip++) { IRDA_DEBUG(2, "%s(), Probing for %s ...\n", __func__, chip->name); for (cfg = 0; cfg < ARRAY_SIZE(chip->cfg); cfg++) { cfg_base = chip->cfg[cfg]; if (!cfg_base) continue; reg = inb(cfg_base); if (reg == 0xff) { IRDA_DEBUG(2, "%s() no chip at 0x%03x\n", __func__, cfg_base); continue; } outb(chip->cid_index, cfg_base); id = inb(cfg_base+1); if ((id & chip->cid_mask) == chip->cid_value) { IRDA_DEBUG(2, "%s() Found %s chip, revision=%d\n", __func__, chip->name, id & ~chip->cid_mask); if (pnp_succeeded) { memset(&info, 0, sizeof(chipio_t)); info.cfg_base = cfg_base; info.fir_base = pnp_info.fir_base; info.dma = pnp_info.dma; info.irq = pnp_info.irq; if (info.fir_base < 0x2000) { IRDA_MESSAGE("%s, chip->init\n", driver_name); chip->init(chip, &info); } else chip->probe(chip, &info); if (nsc_ircc_open(&info) >= 0) ret = 0; } if (ret) { IRDA_DEBUG(2, "%s, PnP init failed\n", driver_name); memset(&info, 0, sizeof(chipio_t)); info.cfg_base = cfg_base; info.fir_base = io[i]; info.dma = dma[i]; info.irq = irq[i]; if (io[i] < 0x2000) { chip->init(chip, &info); } else chip->probe(chip, &info); if (nsc_ircc_open(&info) >= 0) ret = 0; } i++; } else { IRDA_DEBUG(2, "%s(), Wrong chip id=0x%02x\n", __func__, id); } } } if (ret) { platform_driver_unregister(&nsc_ircc_driver); pnp_unregister_driver(&nsc_ircc_pnp_driver); pnp_registered = 0; } return ret; }