mfd: Make TPS65910 usable without interrupts
TPS65910 can be used without interrupts. Hence let probe succeed in case interrupt can't be configured and let Kernel only to complain about it Signed-off-by: Afzal Mohammed <afzal@ti.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
parent
26cc3ab984
commit
1e351a95b6
2 changed files with 4 additions and 6 deletions
|
@ -215,6 +215,7 @@ int tps65910_irq_init(struct tps65910 *tps65910, int irq,
|
|||
|
||||
int tps65910_irq_exit(struct tps65910 *tps65910)
|
||||
{
|
||||
free_irq(tps65910->chip_irq, tps65910);
|
||||
if (tps65910->chip_irq)
|
||||
free_irq(tps65910->chip_irq, tps65910);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue