|
@@ -172,15 +172,12 @@ static int tps65910_i2c_probe(struct i2c_client *i2c,
|
|
|
|
|
|
tps65910_gpio_init(tps65910, pmic_plat_data->gpio_base);
|
|
|
|
|
|
- ret = tps65910_irq_init(tps65910, init_data->irq, init_data);
|
|
|
- if (ret < 0)
|
|
|
- goto err;
|
|
|
+ tps65910_irq_init(tps65910, init_data->irq, init_data);
|
|
|
|
|
|
kfree(init_data);
|
|
|
return ret;
|
|
|
|
|
|
err:
|
|
|
- mfd_remove_devices(tps65910->dev);
|
|
|
kfree(tps65910);
|
|
|
kfree(init_data);
|
|
|
return ret;
|
|
@@ -190,8 +187,8 @@ static int tps65910_i2c_remove(struct i2c_client *i2c)
|
|
|
{
|
|
|
struct tps65910 *tps65910 = i2c_get_clientdata(i2c);
|
|
|
|
|
|
- mfd_remove_devices(tps65910->dev);
|
|
|
tps65910_irq_exit(tps65910);
|
|
|
+ mfd_remove_devices(tps65910->dev);
|
|
|
kfree(tps65910);
|
|
|
|
|
|
return 0;
|