Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 147a6c3d authored by Ashay Jaiswal's avatar Ashay Jaiswal Committed by Subbaraman Narayanamurthy
Browse files

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: default avatarAshay Jaiswal <ashayj@codeaurora.org>
parent 84923af4
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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);
+4 −0
Original line number Diff line number Diff line
@@ -1784,6 +1784,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);