static int sh_mobile_i2c_remove(struct platform_device *dev) { struct sh_mobile_i2c_data *pd = platform_get_drvdata(dev); i2c_del_adapter(&pd->adap); sh_mobile_i2c_release_dma(pd); pm_runtime_disable(&dev->dev); return 0; }
static int i2c_pnx_remove(struct platform_device *pdev) { struct i2c_pnx_algo_data *alg_data = platform_get_drvdata(pdev); i2c_del_adapter(&alg_data->adapter); clk_disable_unprepare(alg_data->clk); return 0; }
static int uniphier_i2c_remove(struct platform_device *pdev) { struct uniphier_i2c_priv *priv = platform_get_drvdata(pdev); i2c_del_adapter(&priv->adap); clk_disable_unprepare(priv->clk); return 0; }
static int __devexit bcm5301x_i2c_remove(struct platform_device *pdev) { struct bcm5301x_i2c_data *pdata = platform_get_drvdata(pdev); BCM5301X_MSG_INFO("remove"); i2c_del_adapter(&pdata->adap); i2c_del_adapter(&pdata->bb_adap); bcm5301x_reset(pdata); free_irq(pdata->irq, pdata); platform_set_drvdata(pdev, NULL); kfree(pdata); return 0; }
static int sead3_i2c_platform_remove(struct platform_device *pdev) { struct pic32_i2c_platform_data *priv = platform_get_drvdata(pdev); platform_set_drvdata(pdev, NULL); i2c_del_adapter(&priv->adap); kfree(priv); return 0; }
void savagefb_delete_i2c_busses(struct fb_info *info) { struct savagefb_par *par = info->par; if (par->chan.par) i2c_del_adapter(&par->chan.adapter); par->chan.par = NULL; }
static int riic_i2c_remove(struct platform_device *pdev) { struct riic_dev *riic = platform_get_drvdata(pdev); writeb(0, riic->base + RIIC_ICIER); i2c_del_adapter(&riic->adapter); return 0; }
static int em_i2c_remove(struct platform_device *dev) { struct em_i2c_device *priv = platform_get_drvdata(dev); i2c_del_adapter(&priv->adap); clk_disable_unprepare(priv->sclk); return 0; }
int i2c_sibyte_del_bus(struct i2c_adapter *adap) { int res; if ((res = i2c_del_adapter(adap)) < 0) return res; return 0; }
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_del_adapter(&parport_adapter); release_region(base, 3); }
static int i2c_lpc2k_remove(struct platform_device *dev) { struct lpc2k_i2c *i2c = platform_get_drvdata(dev); i2c_del_adapter(&i2c->adap); clk_disable_unprepare(i2c->clk); return 0; }
static int dvb_usbv2_i2c_exit(struct dvb_usb_device *d) { dev_dbg(&d->udev->dev, "%s:\n", __func__); if (d->i2c_adap.algo) i2c_del_adapter(&d->i2c_adap); return 0; }
void radeon_delete_i2c_busses(struct radeonfb_info *rinfo) { if (rinfo->i2c[0].rinfo) i2c_del_adapter(&rinfo->i2c[0].adapter); rinfo->i2c[0].rinfo = NULL; if (rinfo->i2c[1].rinfo) i2c_del_adapter(&rinfo->i2c[1].adapter); rinfo->i2c[1].rinfo = NULL; if (rinfo->i2c[2].rinfo) i2c_del_adapter(&rinfo->i2c[2].adapter); rinfo->i2c[2].rinfo = NULL; if (rinfo->i2c[3].rinfo) i2c_del_adapter(&rinfo->i2c[3].adapter); rinfo->i2c[3].rinfo = NULL; }
static int i2c_versatile_remove(struct platform_device *dev) { struct i2c_versatile *i2c = platform_get_drvdata(dev); platform_set_drvdata(dev, NULL); i2c_del_adapter(&i2c->adap); return 0; }
static int __devexit i2c_parport_remove(struct platform_device *pdev) { i2c_del_adapter(&parport_adapter); if (adapter_parm[type].init.val) line_set(0, &adapter_parm[type].init); return 0; }
/** * cdns_i2c_remove - Unregister the device after releasing the resources * @pdev: Handle to the platform device structure * * This function frees all the resources allocated to the device. * * Return: 0 always */ static int cdns_i2c_remove(struct platform_device *pdev) { struct cdns_i2c *id = platform_get_drvdata(pdev); i2c_del_adapter(&id->adap); clk_notifier_unregister(id->clk, &id->clk_rate_change_nb); clk_disable_unprepare(id->clk); return 0; }
static int msm_i2c_remove(struct platform_device *pdev) { struct msm_i2c_dev *dev = platform_get_drvdata(pdev); struct resource *mem; platform_set_drvdata(pdev, NULL); pm_qos_remove_requirement(PM_QOS_CPU_DMA_LATENCY, "msm_i2c"); free_irq(dev->irq, dev); i2c_del_adapter(&dev->adap_pri); i2c_del_adapter(&dev->adap_aux); clk_disable(dev->clk); clk_put(dev->clk); iounmap(dev->base); kfree(dev); mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); release_mem_region(mem->start, (mem->end - mem->start) + 1); return 0; }
static int i2c_platform_remove(struct platform_device *pdev) { struct i2c_platform_data *priv = platform_get_drvdata(pdev); pr_debug("i2c_platform_remove\n"); platform_set_drvdata(pdev, NULL); i2c_del_adapter(&priv->adap); i2c_platform_disable(priv); return 0; }
static int p2wi_remove(struct platform_device *dev) { struct p2wi *p2wi = platform_get_drvdata(dev); reset_control_assert(p2wi->rstc); clk_disable_unprepare(p2wi->clk); i2c_del_adapter(&p2wi->adapter); return 0; }
static int __devexit i2c_parport_remove(struct platform_device *pdev) { i2c_del_adapter(&parport_adapter); /* Un-init if needed (power off...) */ if (adapter_parm[type].init.val) line_set(0, &adapter_parm[type].init); return 0; }
static int hix5hd2_i2c_remove(struct platform_device *pdev) { struct hix5hd2_i2c_priv *priv = platform_get_drvdata(pdev); i2c_del_adapter(&priv->adap); pm_runtime_disable(priv->dev); pm_runtime_set_suspended(priv->dev); return 0; }
static int synquacer_i2c_remove(struct platform_device *pdev) { struct synquacer_i2c *i2c = platform_get_drvdata(pdev); i2c_del_adapter(&i2c->adapter); if (!IS_ERR(i2c->pclk)) clk_disable_unprepare(i2c->pclk); return 0; };
void nouveau_i2c_fini(struct drm_device *dev, struct dcb_i2c_entry *entry) { if (!entry->chan) return; i2c_del_adapter(&entry->chan->adapter); kfree(entry->chan); entry->chan = NULL; }
static int xiic_i2c_remove(struct platform_device *pdev) { struct xiic_i2c *i2c = platform_get_drvdata(pdev); /* remove adapter & data */ i2c_del_adapter(&i2c->adap); xiic_deinit(i2c); return 0; }
void exit_cx18_i2c(struct cx18 *cx) { int i; CX18_DEBUG_I2C("i2c exit\n"); write_reg(read_reg(CX18_REG_I2C_1_WR) | 4, CX18_REG_I2C_1_WR); write_reg(read_reg(CX18_REG_I2C_2_WR) | 4, CX18_REG_I2C_2_WR); for (i = 0; i < 2; i++) { i2c_del_adapter(&cx->i2c_adap[i]); } }
static int __devexit i2c_ssbi_remove(struct platform_device *pdev) { struct i2c_ssbi_dev *ssbi = platform_get_drvdata(pdev); platform_set_drvdata(pdev, NULL); i2c_del_adapter(&ssbi->adapter); iounmap(ssbi->base); release_mem_region(ssbi->mem_phys_addr, ssbi->mem_size); kfree(ssbi); return 0; }
static int zd1301_demod_remove(struct platform_device *pdev) { struct zd1301_demod_dev *dev = platform_get_drvdata(pdev); dev_dbg(&pdev->dev, "\n"); i2c_del_adapter(&dev->adapter); kfree(dev); return 0; }
static int wmt_i2c_remove(struct platform_device *pdev) { struct wmt_i2c_dev *i2c_dev = platform_get_drvdata(pdev); /* Disable interrupts, clock and delete adapter */ writew(0, i2c_dev->base + REG_IMR); clk_disable_unprepare(i2c_dev->clk); i2c_del_adapter(&i2c_dev->adapter); return 0; }
static int qup_i2c_remove(struct platform_device *pdev) { struct qup_i2c_dev *qup = platform_get_drvdata(pdev); disable_irq(qup->irq); qup_i2c_disable_clocks(qup); i2c_del_adapter(&qup->adap); pm_runtime_disable(qup->dev); pm_runtime_set_suspended(qup->dev); return 0; }
void solo_i2c_exit(struct solo_dev *solo_dev) { int i; for (i = 0; i < SOLO_I2C_ADAPTERS; i++) { if (!solo_dev->i2c_adap[i].algo_data) continue; i2c_del_adapter(&solo_dev->i2c_adap[i]); solo_dev->i2c_adap[i].algo_data = NULL; } }