qcom: smb2: disable parallel in restricted/thermal conditions

Add voting to disable parallel charger in case of restricted
charging and when system temperature level changes from normal.
Parallel charger gets re-enabled once thermal condition/FCC
restrictions are removed.

CRs-Fixed: 2014572
Change-Id: Ic26b3d93f2f3d582a2eb3c7b9ea0d27bbad24a50
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
This commit is contained in:
Ashay Jaiswal 2017-03-28 17:19:47 +05:30
parent 347cdf228a
commit eb367740c8
2 changed files with 8 additions and 0 deletions

View file

@ -233,6 +233,10 @@ static ssize_t restrict_chg_store(struct class *c, struct class_attribute *attr,
chip->restricted_charging_enabled = !!val;
/* disable parallel charger in case of restricted charging */
vote(chip->pl_disable_votable, RESTRICT_CHG_VOTER,
chip->restricted_charging_enabled, 0);
vote(chip->fcc_votable, RESTRICT_CHG_VOTER,
chip->restricted_charging_enabled,
chip->restricted_current);

View file

@ -1785,6 +1785,10 @@ int smblib_set_prop_system_temp_level(struct smb_charger *chg,
return -EINVAL;
chg->system_temp_level = val->intval;
/* disable parallel charge in case of system temp level */
vote(chg->pl_disable_votable, THERMAL_DAEMON_VOTER,
chg->system_temp_level ? true : false, 0);
if (chg->system_temp_level == chg->thermal_levels)
return vote(chg->chg_disable_votable,
THERMAL_DAEMON_VOTER, true, 0);