diff options
Diffstat (limited to 'drivers/power/lp8727_charger.c')
-rw-r--r-- | drivers/power/lp8727_charger.c | 16 |
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 | ||
403 | err_mem: | 403 | err_psy_batt: |
404 | return -ENOMEM; | 404 | power_supply_unregister(&psy->usb); |
405 | err_psy: | 405 | err_psy_usb: |
406 | power_supply_unregister(&psy->ac); | ||
407 | err_psy_ac: | ||
406 | kfree(psy); | 408 | kfree(psy); |
407 | return -EPERM; | 409 | return -EPERM; |
408 | } | 410 | } |