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

Commit 1557249e authored by Subbaraman Narayanamurthy's avatar Subbaraman Narayanamurthy
Browse files

power: qpnp-smbcharger: qpnp-fg: use PROP_STATUS for SOC adjustment



Currently, POWER_SUPPLY_PROP_CHARGE_FULL property is used by the
charger driver to notify fuel gauge to do SOC adjustment. However,
while implementing battery aging algorithm, fuel gauge driver needs
to use that property. Start using POWER_SUPPLY_PROP_STATUS property
to notify the fuel gauge whenever the SOC adjustment is due.

Change-Id: I738f3931183507553398b3400a90958165aff6a5
Signed-off-by: default avatarSubbaraman Narayanamurthy <subbaram@codeaurora.org>
parent 7dd02a88
Loading
Loading
Loading
Loading
+2 −9
Original line number Original line Diff line number Diff line
@@ -1403,7 +1403,6 @@ static enum power_supply_property fg_power_props[] = {
	POWER_SUPPLY_PROP_RESISTANCE_ID,
	POWER_SUPPLY_PROP_RESISTANCE_ID,
	POWER_SUPPLY_PROP_BATTERY_TYPE,
	POWER_SUPPLY_PROP_BATTERY_TYPE,
	POWER_SUPPLY_PROP_UPDATE_NOW,
	POWER_SUPPLY_PROP_UPDATE_NOW,
	POWER_SUPPLY_PROP_CHARGE_FULL,
	POWER_SUPPLY_PROP_ESR_COUNT,
	POWER_SUPPLY_PROP_ESR_COUNT,
};
};


@@ -1453,12 +1452,6 @@ static int fg_power_get_property(struct power_supply *psy,
	case POWER_SUPPLY_PROP_UPDATE_NOW:
	case POWER_SUPPLY_PROP_UPDATE_NOW:
		val->intval = 0;
		val->intval = 0;
		break;
		break;
	case POWER_SUPPLY_PROP_CHARGE_FULL:
		if (get_prop_capacity(chip) == 100)
			val->intval = 1;
		else
			val->intval = 0;
		break;
	default:
	default:
		return -EINVAL;
		return -EINVAL;
	}
	}
@@ -1484,8 +1477,8 @@ static int fg_power_set_property(struct power_supply *psy,
		if (val->intval)
		if (val->intval)
			update_sram_data(chip, &unused);
			update_sram_data(chip, &unused);
		break;
		break;
	case POWER_SUPPLY_PROP_CHARGE_FULL:
	case POWER_SUPPLY_PROP_STATUS:
		if (val->intval)
		if (val->intval == POWER_SUPPLY_STATUS_FULL)
			rc = fg_configure_soc(chip);
			rc = fg_configure_soc(chip);
		break;
		break;
	default:
	default:
+2 −1
Original line number Original line Diff line number Diff line
@@ -763,7 +763,8 @@ static void smbchg_check_and_notify_fg_soc(struct smbchg_chip *chip)
		&& get_prop_batt_status(chip)
		&& get_prop_batt_status(chip)
			== POWER_SUPPLY_STATUS_CHARGING) {
			== POWER_SUPPLY_STATUS_CHARGING) {
		pr_smb(PR_STATUS, "Adjusting battery soc in FG\n");
		pr_smb(PR_STATUS, "Adjusting battery soc in FG\n");
		set_property_on_fg(chip, POWER_SUPPLY_PROP_CHARGE_FULL, 1);
		set_property_on_fg(chip, POWER_SUPPLY_PROP_STATUS,
				POWER_SUPPLY_STATUS_FULL);
	}
	}
}
}