power: smb5: add support to export "POWER_SUPPLY_PROP_CHARGE_FULL"
Add support to expose "POWER_SUPPLY_PROP_CHARGE_FULL" from battery
power supply class.
While at it, create a common function to read properties from "bms"
power_supply_class.
Change-Id: I5980006c4429a835c0f5bf674f5de2657d990517
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
diff --git a/drivers/power/supply/qcom/qpnp-smb5.c b/drivers/power/supply/qcom/qpnp-smb5.c
index 18c5c72..71a4369 100644
--- a/drivers/power/supply/qcom/qpnp-smb5.c
+++ b/drivers/power/supply/qcom/qpnp-smb5.c
@@ -1257,6 +1257,7 @@
POWER_SUPPLY_PROP_CHARGE_COUNTER,
POWER_SUPPLY_PROP_CYCLE_COUNT,
POWER_SUPPLY_PROP_RECHARGE_SOC,
+ POWER_SUPPLY_PROP_CHARGE_FULL,
};
static int smb5_batt_get_prop(struct power_supply *psy,
@@ -1305,14 +1306,16 @@
val->intval = chg->sw_jeita_enabled;
break;
case POWER_SUPPLY_PROP_VOLTAGE_NOW:
- rc = smblib_get_prop_batt_voltage_now(chg, val);
+ rc = smblib_get_prop_from_bms(chg,
+ POWER_SUPPLY_PROP_VOLTAGE_NOW, val);
break;
case POWER_SUPPLY_PROP_VOLTAGE_MAX:
val->intval = get_client_vote(chg->fv_votable,
BATT_PROFILE_VOTER);
break;
case POWER_SUPPLY_PROP_CURRENT_NOW:
- rc = smblib_get_prop_batt_current_now(chg, val);
+ rc = smblib_get_prop_from_bms(chg,
+ POWER_SUPPLY_PROP_CURRENT_NOW, val);
break;
case POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX:
val->intval = get_client_vote(chg->fcc_votable,
@@ -1322,7 +1325,7 @@
rc = smblib_get_prop_batt_iterm(chg, val);
break;
case POWER_SUPPLY_PROP_TEMP:
- rc = smblib_get_prop_batt_temp(chg, val);
+ rc = smblib_get_prop_from_bms(chg, POWER_SUPPLY_PROP_TEMP, val);
break;
case POWER_SUPPLY_PROP_TECHNOLOGY:
val->intval = POWER_SUPPLY_TECHNOLOGY_LION;
@@ -1351,14 +1354,20 @@
val->intval = 0;
break;
case POWER_SUPPLY_PROP_CHARGE_COUNTER:
- rc = smblib_get_prop_batt_charge_counter(chg, val);
+ rc = smblib_get_prop_from_bms(chg,
+ POWER_SUPPLY_PROP_CHARGE_COUNTER, val);
break;
case POWER_SUPPLY_PROP_CYCLE_COUNT:
- rc = smblib_get_prop_batt_cycle_count(chg, val);
+ rc = smblib_get_prop_from_bms(chg,
+ POWER_SUPPLY_PROP_CYCLE_COUNT, val);
break;
case POWER_SUPPLY_PROP_RECHARGE_SOC:
val->intval = chg->auto_recharge_soc;
break;
+ case POWER_SUPPLY_PROP_CHARGE_FULL:
+ rc = smblib_get_prop_from_bms(chg,
+ POWER_SUPPLY_PROP_CHARGE_FULL, val);
+ break;
default:
pr_err("batt power supply prop %d not supported\n", psp);
return -EINVAL;