summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorAshay Jaiswal <ashayj@codeaurora.org>2017-02-03 11:18:22 +0530
committerAshay Jaiswal <ashayj@codeaurora.org>2017-02-03 11:32:34 +0530
commit8bb83bb77e1abed35bf8e3e38cba2ee883353ffd (patch)
tree3f9d935138b36b7db3850c6805e79cc0f099dd96 /drivers
parentf0cf35f5921410fed20e7d2d5f89ed3326430a08 (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.c27
-rw-r--r--drivers/power/supply/qcom/smb-lib.c5
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;