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;
}
Example #2
0
static void __exit hisax_fcpcipnp_exit(void)
{
#ifdef __ISAPNP__
	pnp_unregister_driver(&fcpnp_driver);
#endif
	pci_unregister_driver(&fcpci_driver);
}
Example #3
0
static void __exit fmr2_exit(void)
{
    if (pnp_registered)
        pnp_unregister_driver(&fmr2_pnp_driver);
    if (isa_registered)
        isa_unregister_driver(&fmr2_isa_driver);
}
Example #4
0
static void __exit hisax_fcpcipnp_exit(void)
{
#ifdef CONFIG_PNP
	pnp_unregister_driver(&fcpnp_driver);
#endif
	pci_unregister_driver(&fcpci_driver);
}
Example #5
0
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);
}
Example #6
0
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);
}
Example #7
0
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 */
}
Example #9
0
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);
}
Example #10
0
/* 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;
}
Example #14
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;
}
Example #15
0
static void __exit isapnp_exit(void)
{
	pnp_unregister_driver(&isapnp_driver);
}
Example #16
0
static void __exit serial8250_pnp_exit(void)
{
    pnp_unregister_driver(&serial_pnp_driver);
}
Example #17
0
static void __exit cmos_exit(void)
{
	pnp_unregister_driver(&cmos_pnp_driver);
}
Example #18
0
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);
}
Example #20
0
static void c6xdigio_detach(struct comedi_device *dev)
{
	comedi_legacy_detach(dev);
	pnp_unregister_driver(&c6xdigio_pnp_driver);
}
Example #21
0
static void __exit
sb1000_exit(void)
{
	pnp_unregister_driver(&sb1000_driver);
}
Example #22
0
static void ite_exit(void)
{
	pnp_unregister_driver(&ite_driver);
}
Example #23
0
static void __exit fintek_exit(void)
{
	pnp_unregister_driver(&fintek_driver);
}
Example #24
0
void fintek_exit(void)
{
	pnp_unregister_driver(&fintek_driver);
}
Example #25
0
void rtapi_app_exit(void) {
    if (pnp_registered_parport)
            pnp_unregister_driver (&parport_pc_pnp_driver);
    hal_exit(comp_id);
}
Example #26
0
static void __exit apple_gmux_exit(void)
{
	pnp_unregister_driver(&gmux_pnp_driver);
}
Example #27
0
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;
}