diff options
author | Ashay Jaiswal <ashayj@codeaurora.org> | 2017-02-03 11:18:22 +0530 |
---|---|---|
committer | Ashay Jaiswal <ashayj@codeaurora.org> | 2017-02-03 11:32:34 +0530 |
commit | 8bb83bb77e1abed35bf8e3e38cba2ee883353ffd (patch) | |
tree | 3f9d935138b36b7db3850c6805e79cc0f099dd96 /drivers | |
parent | f0cf35f5921410fed20e7d2d5f89ed3326430a08 (diff) |
qcom: battery: fix parallel psy name
Parallel charger registers to power supply framework with name
"parallel" instead of "usb-parallel" thus update all references
of "usb-parallel" with "parallel".
While at it, remove extra NULL pointer check of pl_psy in
parallel enable path.
CRs-Fixed: 2001651
Change-Id: I4150808f7122cef970296553fb70671df12aced9
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/power/supply/qcom/battery.c | 27 | ||||
-rw-r--r-- | drivers/power/supply/qcom/smb-lib.c | 5 |
2 files changed, 16 insertions, 16 deletions
diff --git a/drivers/power/supply/qcom/battery.c b/drivers/power/supply/qcom/battery.c index 5f1b6b294b5f..6f9fc667bc0e 100644 --- a/drivers/power/supply/qcom/battery.c +++ b/drivers/power/supply/qcom/battery.c @@ -82,7 +82,7 @@ enum { static void split_settled(struct pl_data *chip) { int slave_icl_pct; - int slave_ua; + int slave_ua = 0; union power_supply_propval pval = {0, }; int rc; @@ -94,11 +94,9 @@ static void split_settled(struct pl_data *chip) if (chip->pl_mode != POWER_SUPPLY_PARALLEL_USBIN_USBIN) return; - if (chip->main_psy) + if (!chip->main_psy) return; - slave_ua = 0; - if (!get_effective_result_locked(chip->pl_disable_votable)) { /* read the aicl settled value */ rc = power_supply_get_property(chip->main_psy, @@ -375,15 +373,17 @@ static int pl_disable_vote_callback(struct votable *votable, if (!pl_disable) { /* enable */ rerun_election(chip->fv_votable); rerun_election(chip->fcc_votable); - - if (chip->pl_psy) { - pval.intval = 0; - rc = power_supply_set_property(chip->pl_psy, - POWER_SUPPLY_PROP_INPUT_SUSPEND, &pval); - if (rc < 0) - pr_err("Couldn't change slave suspend state rc=%d\n", - rc); - } + /* + * Enable will be called with a valid pl_psy always. The + * PARALLEL_PSY_VOTER keeps it disabled unless a pl_psy + * is seen. + */ + pval.intval = 0; + rc = power_supply_set_property(chip->pl_psy, + POWER_SUPPLY_PROP_INPUT_SUSPEND, &pval); + if (rc < 0) + pr_err("Couldn't change slave suspend state rc=%d\n", + rc); if (chip->pl_mode == POWER_SUPPLY_PARALLEL_USBIN_USBIN) split_settled(chip); @@ -406,6 +406,7 @@ static int pl_disable_vote_callback(struct votable *votable, if (chip->pl_mode == POWER_SUPPLY_PARALLEL_USBIN_USBIN) split_settled(chip); + /* pl_psy may be NULL while in the disable branch */ if (chip->pl_psy) { pval.intval = 1; rc = power_supply_set_property(chip->pl_psy, diff --git a/drivers/power/supply/qcom/smb-lib.c b/drivers/power/supply/qcom/smb-lib.c index 5faa05c1c270..ee87b312963f 100644 --- a/drivers/power/supply/qcom/smb-lib.c +++ b/drivers/power/supply/qcom/smb-lib.c @@ -505,7 +505,7 @@ static int smblib_notifier_call(struct notifier_block *nb, schedule_work(&chg->bms_update_work); } - if (!chg->pl.psy && !strcmp(psy->desc->name, "usb-parallel")) + if (!chg->pl.psy && !strcmp(psy->desc->name, "parallel")) chg->pl.psy = psy; return NOTIFY_OK; @@ -3538,8 +3538,7 @@ int smblib_init(struct smb_charger *chg) } chg->bms_psy = power_supply_get_by_name("bms"); - chg->pl.psy = power_supply_get_by_name("usb-parallel"); - + chg->pl.psy = power_supply_get_by_name("parallel"); break; case PARALLEL_SLAVE: break; |