mfd: twl6040: Drop devm_free_irq of devm_ allocated irq
The devm_request_irq function allocates irq that is released when a driver detaches. Thus, there is no reason to explicitly call devm_free_irq in probe or remove functions. Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: Lee Jones <lee.jones@linaro.org>
This commit is contained in:
parent
89720264a1
commit
fc5ee96fef
|
@ -619,7 +619,7 @@ static int twl6040_probe(struct i2c_client *client,
|
||||||
"twl6040_irq_th", twl6040);
|
"twl6040_irq_th", twl6040);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(twl6040->dev, "Thermal IRQ request failed: %d\n", ret);
|
dev_err(twl6040->dev, "Thermal IRQ request failed: %d\n", ret);
|
||||||
goto thirq_err;
|
goto readyirq_err;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* dual-access registers controlled by I2C only */
|
/* dual-access registers controlled by I2C only */
|
||||||
|
@ -659,14 +659,10 @@ static int twl6040_probe(struct i2c_client *client,
|
||||||
ret = mfd_add_devices(&client->dev, -1, twl6040->cells, children,
|
ret = mfd_add_devices(&client->dev, -1, twl6040->cells, children,
|
||||||
NULL, 0, NULL);
|
NULL, 0, NULL);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto mfd_err;
|
goto readyirq_err;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
mfd_err:
|
|
||||||
devm_free_irq(&client->dev, twl6040->irq_th, twl6040);
|
|
||||||
thirq_err:
|
|
||||||
devm_free_irq(&client->dev, twl6040->irq_ready, twl6040);
|
|
||||||
readyirq_err:
|
readyirq_err:
|
||||||
regmap_del_irq_chip(twl6040->irq, twl6040->irq_data);
|
regmap_del_irq_chip(twl6040->irq, twl6040->irq_data);
|
||||||
gpio_err:
|
gpio_err:
|
||||||
|
@ -684,8 +680,6 @@ static int twl6040_remove(struct i2c_client *client)
|
||||||
if (twl6040->power_count)
|
if (twl6040->power_count)
|
||||||
twl6040_power(twl6040, 0);
|
twl6040_power(twl6040, 0);
|
||||||
|
|
||||||
devm_free_irq(&client->dev, twl6040->irq_ready, twl6040);
|
|
||||||
devm_free_irq(&client->dev, twl6040->irq_th, twl6040);
|
|
||||||
regmap_del_irq_chip(twl6040->irq, twl6040->irq_data);
|
regmap_del_irq_chip(twl6040->irq, twl6040->irq_data);
|
||||||
|
|
||||||
mfd_remove_devices(&client->dev);
|
mfd_remove_devices(&client->dev);
|
||||||
|
|
Loading…
Reference in a new issue