diff options
| author | Nicholas Troast <ntroast@codeaurora.org> | 2017-07-26 14:17:34 -0700 |
|---|---|---|
| committer | Nicholas Troast <ntroast@codeaurora.org> | 2017-08-10 15:44:56 -0700 |
| commit | 73cfa3e3ef7cf00a1fcd3c1595544aee827fada9 (patch) | |
| tree | 733432dea9e829c48a34484bc43abdac6d8bc6a8 | |
| parent | 2cc64cac04d1a4be942c970e051d1659b39781a2 (diff) | |
power: qpnp-smb2: expose CHARGE_COUNTER prop via batt psy
CHARGE_COUNTER is a required battery power supply property. Add it.
Change-Id: Ieb9c64447f88213479ce14b738f71fa703ffc194
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
| -rw-r--r-- | drivers/power/supply/qcom/qpnp-smb2.c | 4 | ||||
| -rw-r--r-- | drivers/power/supply/qcom/smb-lib.c | 13 | ||||
| -rw-r--r-- | drivers/power/supply/qcom/smb-lib.h | 2 |
3 files changed, 19 insertions, 0 deletions
diff --git a/drivers/power/supply/qcom/qpnp-smb2.c b/drivers/power/supply/qcom/qpnp-smb2.c index b16c0ef47e93..35e38b8edaa3 100644 --- a/drivers/power/supply/qcom/qpnp-smb2.c +++ b/drivers/power/supply/qcom/qpnp-smb2.c @@ -923,6 +923,7 @@ static enum power_supply_property smb2_batt_props[] = { POWER_SUPPLY_PROP_DIE_HEALTH, POWER_SUPPLY_PROP_RERUN_AICL, POWER_SUPPLY_PROP_DP_DM, + POWER_SUPPLY_PROP_CHARGE_COUNTER, }; static int smb2_batt_get_prop(struct power_supply *psy, @@ -1028,6 +1029,9 @@ static int smb2_batt_get_prop(struct power_supply *psy, case POWER_SUPPLY_PROP_RERUN_AICL: val->intval = 0; break; + case POWER_SUPPLY_PROP_CHARGE_COUNTER: + rc = smblib_get_prop_batt_charge_counter(chg, val); + break; default: pr_err("batt power supply prop %d not supported\n", psp); return -EINVAL; diff --git a/drivers/power/supply/qcom/smb-lib.c b/drivers/power/supply/qcom/smb-lib.c index 4d90f6fc8ac5..c469aae183f4 100644 --- a/drivers/power/supply/qcom/smb-lib.c +++ b/drivers/power/supply/qcom/smb-lib.c @@ -1845,6 +1845,19 @@ int smblib_get_prop_charge_qnovo_enable(struct smb_charger *chg, return 0; } +int smblib_get_prop_batt_charge_counter(struct smb_charger *chg, + union power_supply_propval *val) +{ + int rc; + + if (!chg->bms_psy) + return -EINVAL; + + rc = power_supply_get_property(chg->bms_psy, + POWER_SUPPLY_PROP_CHARGE_COUNTER, val); + return rc; +} + /*********************** * BATTERY PSY SETTERS * ***********************/ diff --git a/drivers/power/supply/qcom/smb-lib.h b/drivers/power/supply/qcom/smb-lib.h index 720986cde5a7..19a7bf62a9a7 100644 --- a/drivers/power/supply/qcom/smb-lib.h +++ b/drivers/power/supply/qcom/smb-lib.h @@ -419,6 +419,8 @@ int smblib_get_prop_batt_current_now(struct smb_charger *chg, union power_supply_propval *val); int smblib_get_prop_batt_temp(struct smb_charger *chg, union power_supply_propval *val); +int smblib_get_prop_batt_charge_counter(struct smb_charger *chg, + union power_supply_propval *val); int smblib_set_prop_input_suspend(struct smb_charger *chg, const union power_supply_propval *val); int smblib_set_prop_batt_capacity(struct smb_charger *chg, |
