aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/power/tps65090-charger.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/power/tps65090-charger.c')
-rw-r--r--drivers/power/tps65090-charger.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/power/tps65090-charger.c b/drivers/power/tps65090-charger.c
index bdd7b9b2546a..14b6e79e1fc0 100644
--- a/drivers/power/tps65090-charger.c
+++ b/drivers/power/tps65090-charger.c
@@ -277,13 +277,13 @@ static int tps65090_charger_probe(struct platform_device *pdev)
277 if (ret) { 277 if (ret) {
278 dev_err(cdata->dev, "Unable to register irq %d err %d\n", irq, 278 dev_err(cdata->dev, "Unable to register irq %d err %d\n", irq,
279 ret); 279 ret);
280 goto fail_free_irq; 280 goto fail_unregister_supply;
281 } 281 }
282 282
283 ret = tps65090_config_charger(cdata); 283 ret = tps65090_config_charger(cdata);
284 if (ret < 0) { 284 if (ret < 0) {
285 dev_err(&pdev->dev, "charger config failed, err %d\n", ret); 285 dev_err(&pdev->dev, "charger config failed, err %d\n", ret);
286 goto fail_free_irq; 286 goto fail_unregister_supply;
287 } 287 }
288 288
289 /* Check for charger presence */ 289 /* Check for charger presence */
@@ -292,14 +292,14 @@ static int tps65090_charger_probe(struct platform_device *pdev)
292 if (ret < 0) { 292 if (ret < 0) {
293 dev_err(cdata->dev, "%s(): Error in reading reg 0x%x", __func__, 293 dev_err(cdata->dev, "%s(): Error in reading reg 0x%x", __func__,
294 TPS65090_REG_CG_STATUS1); 294 TPS65090_REG_CG_STATUS1);
295 goto fail_free_irq; 295 goto fail_unregister_supply;
296 } 296 }
297 297
298 if (status1 != 0) { 298 if (status1 != 0) {
299 ret = tps65090_enable_charging(cdata); 299 ret = tps65090_enable_charging(cdata);
300 if (ret < 0) { 300 if (ret < 0) {
301 dev_err(cdata->dev, "error enabling charger\n"); 301 dev_err(cdata->dev, "error enabling charger\n");
302 goto fail_free_irq; 302 goto fail_unregister_supply;
303 } 303 }
304 cdata->ac_online = 1; 304 cdata->ac_online = 1;
305 power_supply_changed(&cdata->ac); 305 power_supply_changed(&cdata->ac);
@@ -307,8 +307,6 @@ static int tps65090_charger_probe(struct platform_device *pdev)
307 307
308 return 0; 308 return 0;
309 309
310fail_free_irq:
311 devm_free_irq(cdata->dev, irq, cdata);
312fail_unregister_supply: 310fail_unregister_supply:
313 power_supply_unregister(&cdata->ac); 311 power_supply_unregister(&cdata->ac);
314 312
@@ -319,7 +317,6 @@ static int tps65090_charger_remove(struct platform_device *pdev)
319{ 317{
320 struct tps65090_charger *cdata = platform_get_drvdata(pdev); 318 struct tps65090_charger *cdata = platform_get_drvdata(pdev);
321 319
322 devm_free_irq(cdata->dev, cdata->irq, cdata);
323 power_supply_unregister(&cdata->ac); 320 power_supply_unregister(&cdata->ac);
324 321
325 return 0; 322 return 0;