aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/power/lp8727_charger.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/power/lp8727_charger.c')
-rw-r--r--drivers/power/lp8727_charger.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/drivers/power/lp8727_charger.c b/drivers/power/lp8727_charger.c
index 6a364f4798f7..4e37b269ac95 100644
--- a/drivers/power/lp8727_charger.c
+++ b/drivers/power/lp8727_charger.c
@@ -362,7 +362,7 @@ static int lp8727_register_psy(struct lp8727_chg *pchg)
362 362
363 psy = kzalloc(sizeof(*psy), GFP_KERNEL); 363 psy = kzalloc(sizeof(*psy), GFP_KERNEL);
364 if (!psy) 364 if (!psy)
365 goto err_mem; 365 return -ENOMEM;
366 366
367 pchg->psy = psy; 367 pchg->psy = psy;
368 368
@@ -375,7 +375,7 @@ static int lp8727_register_psy(struct lp8727_chg *pchg)
375 psy->ac.num_supplicants = ARRAY_SIZE(battery_supplied_to); 375 psy->ac.num_supplicants = ARRAY_SIZE(battery_supplied_to);
376 376
377 if (power_supply_register(pchg->dev, &psy->ac)) 377 if (power_supply_register(pchg->dev, &psy->ac))
378 goto err_psy; 378 goto err_psy_ac;
379 379
380 psy->usb.name = "usb"; 380 psy->usb.name = "usb";
381 psy->usb.type = POWER_SUPPLY_TYPE_USB; 381 psy->usb.type = POWER_SUPPLY_TYPE_USB;
@@ -386,7 +386,7 @@ static int lp8727_register_psy(struct lp8727_chg *pchg)
386 psy->usb.num_supplicants = ARRAY_SIZE(battery_supplied_to); 386 psy->usb.num_supplicants = ARRAY_SIZE(battery_supplied_to);
387 387
388 if (power_supply_register(pchg->dev, &psy->usb)) 388 if (power_supply_register(pchg->dev, &psy->usb))
389 goto err_psy; 389 goto err_psy_usb;
390 390
391 psy->batt.name = "main_batt"; 391 psy->batt.name = "main_batt";
392 psy->batt.type = POWER_SUPPLY_TYPE_BATTERY; 392 psy->batt.type = POWER_SUPPLY_TYPE_BATTERY;
@@ -396,13 +396,15 @@ static int lp8727_register_psy(struct lp8727_chg *pchg)
396 psy->batt.external_power_changed = lp8727_charger_changed; 396 psy->batt.external_power_changed = lp8727_charger_changed;
397 397
398 if (power_supply_register(pchg->dev, &psy->batt)) 398 if (power_supply_register(pchg->dev, &psy->batt))
399 goto err_psy; 399 goto err_psy_batt;
400 400
401 return 0; 401 return 0;
402 402
403err_mem: 403err_psy_batt:
404 return -ENOMEM; 404 power_supply_unregister(&psy->usb);
405err_psy: 405err_psy_usb:
406 power_supply_unregister(&psy->ac);
407err_psy_ac:
406 kfree(psy); 408 kfree(psy);
407 return -EPERM; 409 return -EPERM;
408} 410}