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:
parent
347cdf228a
commit
eb367740c8
2 changed files with 8 additions and 0 deletions
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue