summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Bestas <mkbestas@lineageos.org>2023-05-23 18:44:59 +0300
committerMichael Bestas <mkbestas@lineageos.org>2023-06-09 14:04:15 +0200
commit094b738f46c80c56d03d923c3e780e071abe34b0 (patch)
treedcfee8039eae7cd5a4cef0fb440a25cd24fdd1af
parentd6038d6da57f766f4c9bb946a107e48617b414ff (diff)
power: qpnp-smb2: Implement battery charging_enabled node
Change-Id: Id08c169f0c507390eab070d1ae77bfb992b50b81
-rw-r--r--drivers/power/supply/qcom/qpnp-smb2.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/power/supply/qcom/qpnp-smb2.c b/drivers/power/supply/qcom/qpnp-smb2.c
index 5fae7b99d88f..b0704af49353 100644
--- a/drivers/power/supply/qcom/qpnp-smb2.c
+++ b/drivers/power/supply/qcom/qpnp-smb2.c
@@ -917,6 +917,7 @@ static int smb2_init_dc_psy(struct smb2 *chip)
*************************/
static enum power_supply_property smb2_batt_props[] = {
+ POWER_SUPPLY_PROP_CHARGING_ENABLED,
POWER_SUPPLY_PROP_INPUT_SUSPEND,
POWER_SUPPLY_PROP_STATUS,
POWER_SUPPLY_PROP_HEALTH,
@@ -967,6 +968,9 @@ static int smb2_batt_get_prop(struct power_supply *psy,
case POWER_SUPPLY_PROP_PRESENT:
rc = smblib_get_prop_batt_present(chg, val);
break;
+ case POWER_SUPPLY_PROP_CHARGING_ENABLED:
+ val->intval = !get_effective_result(chg->chg_disable_votable);
+ break;
case POWER_SUPPLY_PROP_INPUT_SUSPEND:
rc = smblib_get_prop_input_suspend(chg, val);
break;
@@ -1079,6 +1083,9 @@ static int smb2_batt_set_prop(struct power_supply *psy,
struct smb_charger *chg = power_supply_get_drvdata(psy);
switch (prop) {
+ case POWER_SUPPLY_PROP_CHARGING_ENABLED:
+ vote(chg->chg_disable_votable, USER_VOTER, !!!val->intval, 0);
+ break;
case POWER_SUPPLY_PROP_INPUT_SUSPEND:
rc = smblib_set_prop_input_suspend(chg, val);
break;
@@ -1163,6 +1170,7 @@ static int smb2_batt_prop_is_writeable(struct power_supply *psy,
enum power_supply_property psp)
{
switch (psp) {
+ case POWER_SUPPLY_PROP_CHARGING_ENABLED:
case POWER_SUPPLY_PROP_INPUT_SUSPEND:
case POWER_SUPPLY_PROP_SYSTEM_TEMP_LEVEL:
case POWER_SUPPLY_PROP_CAPACITY: