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

Commit 44499b73 authored by Ashay Jaiswal's avatar Ashay Jaiswal
Browse files

qcom: qpnp-smb2: update POWER_SUPPLY_PROP_CHARGER_TEMP read logic



The charger therm on RRADC only reads valid values if a charger is
present. Add a check accordingly.

Change-Id: I74c6c15e1e72d4d2ef3ffd698f130b7d0fce6df4
Signed-off-by: default avatarAshay Jaiswal <ashayj@codeaurora.org>
parent 9bf70038
Loading
Loading
Loading
Loading
+9 −1
Original line number Original line Diff line number Diff line
@@ -857,6 +857,7 @@ static int smb2_batt_get_prop(struct power_supply *psy,
{
{
	struct smb_charger *chg = power_supply_get_drvdata(psy);
	struct smb_charger *chg = power_supply_get_drvdata(psy);
	int rc = 0;
	int rc = 0;
	union power_supply_propval pval = {0, };


	switch (psp) {
	switch (psp) {
	case POWER_SUPPLY_PROP_STATUS:
	case POWER_SUPPLY_PROP_STATUS:
@@ -881,6 +882,13 @@ static int smb2_batt_get_prop(struct power_supply *psy,
		rc = smblib_get_prop_system_temp_level(chg, val);
		rc = smblib_get_prop_system_temp_level(chg, val);
		break;
		break;
	case POWER_SUPPLY_PROP_CHARGER_TEMP:
	case POWER_SUPPLY_PROP_CHARGER_TEMP:
		/* do not query RRADC if charger is not present */
		rc = smblib_get_prop_usb_present(chg, &pval);
		if (rc < 0)
			pr_err("Couldn't get usb present rc=%d\n", rc);

		rc = -ENODATA;
		if (pval.intval)
			rc = smblib_get_prop_charger_temp(chg, val);
			rc = smblib_get_prop_charger_temp(chg, val);
		break;
		break;
	case POWER_SUPPLY_PROP_CHARGER_TEMP_MAX:
	case POWER_SUPPLY_PROP_CHARGER_TEMP_MAX: