void riva_delete_i2c_busses(struct riva_par *par) { if (par->chan[0].par) i2c_bit_del_bus(&par->chan[0].adapter); par->chan[0].par = NULL; if (par->chan[1].par) i2c_bit_del_bus(&par->chan[1].adapter); par->chan[1].par = NULL; if (par->chan[2].par) i2c_bit_del_bus(&par->chan[2].adapter); par->chan[2].par = NULL; }
/* * Cleanup stuff */ static void __devexit prosavage_remove(struct pci_dev *dev) { struct s_i2c_chip *chip; int i, ret; chip = (struct s_i2c_chip *)pci_get_drvdata(dev); if (!chip) { return; } for (i = MAX_BUSSES - 1; i >= 0; i--) { if (chip->i2c_bus[i].adap_ok == 0) continue; ret = i2c_bit_del_bus(&chip->i2c_bus[i].adap); if (ret) { dev_err(&dev->dev, ": %s not removed\n", chip->i2c_bus[i].adap.name); } } if (chip->mmio) { iounmap(chip->mmio); } kfree(chip); }
void cleanup_module(void) { i2c_bit_del_bus(&bit_hydra_ops); if (hydra_base) { pdregw(0); /* clear SCLK_OE and SDAT_OE */ iounmap((void *) hydra_base); } }
static void i2c_omaha_exit(void) { i2c_bit_del_bus(&bit_omaha_ops); bit_omaha_exit(); }
void savagefb_delete_i2c_busses(struct fb_info *info) { struct savagefb_par *par = info->par; if (par->chan.par) i2c_bit_del_bus(&par->chan.adapter); par->chan.par = NULL; }
static void __exit i2c_parport_exit(void) { /* Un-init if needed (power off...) */ if (adapter_parm[type].init.val) line_set(0, &adapter_parm[type].init); i2c_bit_del_bus(&parport_adapter); release_region(base, 3); }
static int ixp4xx_i2c_remove(struct device *dev) { struct platform_device *plat_dev = to_platform_device(dev); struct ixp4xx_i2c_data *drv_data = dev_get_drvdata(&plat_dev->dev); dev_set_drvdata(&plat_dev->dev, NULL); i2c_bit_del_bus(&drv_data->adapter); kfree(drv_data); return 0; }
static void i2c_parport_detach (struct parport *port) { struct i2c_par *adapter, *prev = NULL; for (adapter = adapter_list; adapter; adapter = adapter->next) { if (adapter->pdev->port == port) { parport_unregister_device(adapter->pdev); i2c_bit_del_bus(&adapter->adapter); if (prev) prev->next = adapter->next; else adapter_list = adapter->next; kfree(adapter); return; } prev = adapter; } }
static int __devinit voodoo3_probe(struct pci_dev *dev, const struct pci_device_id *id) { int retval; retval = config_v3(dev); if (retval) return retval; /* set up the sysfs linkage to our parent device */ voodoo3_i2c_adapter.dev.parent = &dev->dev; voodoo3_ddc_adapter.dev.parent = &dev->dev; retval = i2c_bit_add_bus(&voodoo3_i2c_adapter); if (retval) return retval; retval = i2c_bit_add_bus(&voodoo3_ddc_adapter); if (retval) i2c_bit_del_bus(&voodoo3_i2c_adapter); return retval; }
static int __devinit i810_probe(struct pci_dev *dev, const struct pci_device_id *id) { int retval; retval = config_i810(dev); if (retval) return retval; dev_info(&dev->dev, "i810/i815 i2c device found.\n"); /* set up the sysfs linkage to our parent device */ i810_i2c_adapter.dev.parent = &dev->dev; i810_ddc_adapter.dev.parent = &dev->dev; retval = i2c_bit_add_bus(&i810_i2c_adapter); if (retval) return retval; retval = i2c_bit_add_bus(&i810_ddc_adapter); if (retval) i2c_bit_del_bus(&i810_i2c_adapter); return retval; }
static void i2c_parport_detach (struct parport *port) { struct i2c_par *adapter, *prev; /* Walk the list */ for (prev = NULL, adapter = adapter_list; adapter; prev = adapter, adapter = adapter->next) { if (adapter->pdev->port == port) { /* Un-init if needed (power off...) */ if (adapter_parm[type].init.val) line_set(port, 0, &adapter_parm[type].init); i2c_bit_del_bus(&adapter->adapter); parport_unregister_device(adapter->pdev); if (prev) prev->next = adapter->next; else adapter_list = adapter->next; kfree(adapter); return; } } }
int __init savage4_cleanup(void) { int res; iounmap(mem); /* if (savage4_initialized & INIT3) { if ((res = i2c_bit_del_bus(&savage4_ddc_adapter))) { printk ("i2c-savage4.o: i2c_bit_del_bus failed, module not removed\n"); return res; } } */ if (savage4_initialized & INIT2) { if ((res = i2c_bit_del_bus(&savage4_i2c_adapter))) { printk ("i2c-savage4.o: i2c_bit_del_bus failed, module not removed\n"); return res; } } return 0; }
static void __devexit voodoo3_remove(struct pci_dev *dev) { i2c_bit_del_bus(&voodoo3_i2c_adapter); i2c_bit_del_bus(&voodoo3_ddc_adapter); iounmap(ioaddr); }
void scx200_i2c_cleanup(void) { i2c_bit_del_bus(&scx200_i2c_ops); }
static void __exit i2c_bitelv_exit(void) { i2c_bit_del_bus(&bit_elv_ops); bit_elv_exit(); }
static void __exit i2c_bitvelle_exit(void) { i2c_bit_del_bus(&bit_velle_ops); bit_velle_exit(); }
static void __devexit i810_remove(struct pci_dev *dev) { i2c_bit_del_bus(&i810_ddc_adapter); i2c_bit_del_bus(&i810_i2c_adapter); iounmap(ioaddr); }
static void __devexit vt586b_remove(struct pci_dev *dev) { i2c_bit_del_bus(&vt586b_adapter); release_region(I2C_DIR, IOSPACE); pm_io_base = 0; }
void cleanup_module(void) { i2c_bit_del_bus(&bit_velle_ops); bit_velle_exit(); }
static void __devexit hydra_remove(struct pci_dev *dev) { pdregw(0); /* clear SCLK_OE and SDAT_OE */ i2c_bit_del_bus(&bit_hydra_ops); iounmap((void *) hydra_base); }
void __exit cleanup_module(void) { i2c_bit_del_bus(&bit_netarm_gpio_ops); }
static void __exit i2c_tsunami_exit(void) { i2c_bit_del_bus(&tsunami_i2c_adapter); }
static void __exit i2c_frodo_exit (void) { i2c_bit_del_bus(&frodo_ops); }
void cleanup_module(void) { i2c_bit_del_bus(&bit_via_ops); release_region(I2C_DIR, IOSPACE); }
static void __exit ixdp2400_i2c_exit(void) { i2c_bit_del_bus(&ixdp2400_i2c_adapter); }
static void i2c_bit_bus_del(struct i2c_bit_adapter* b) { if (b->initialized) { i2c_bit_del_bus(&b->adapter); b->initialized = 0; } }
void cleanup_module(void) { i2c_bit_del_bus(&bit_elv_ops); bit_elv_exit(); }
static void i2c_exit(void) { i2c_bit_del_bus(&i2c_adapter); }