/* Shutdown of an instance of the controller device @dev I2C controller platform device  */
static int __devexit i2c_stm32_remove(struct platform_device *dev)
/* Shutdown of an instance of the controller device @dev I2C controller platform device  */
static int __devexit i2c_stm32_remove(struct platform_device *dev)
{
	struct i2c_stm32 *c  = platform_get_drvdata(dev);
	int ret = 0;
	i2c_stm32_hw_release(c);
	platform_set_drvdata(dev, NULL);
	i2c_del_adapter(&c->adap);
	free_irq(c->irq, c);
	free_irq(c->irq + 1, c);
	iounmap(c->regs);
	release_mem_region(c->regs_base, c->regs_size);
	kfree(c);
	d_printk(1, "dev=%s,ret=%d\n", dev_name(&dev->dev), ret);
	return ret;
}