static int Si4709_i2c_detach(struct i2c_client *client) { i2c_detach_client(client); Si4709_remove(client); return 0; }
static int __devexit si4709_i2c_remove(struct i2c_client *client) { struct si4709_data *si4709_dev = i2c_get_clientdata(client); printk("----- %s %d\n", __func__, __LINE__); Si4709_remove(Si4709_i2c_client); kfree(si4709_dev); kfree(client); si4709_dev = NULL; Si4709_i2c_client = NULL; return 0; }