@@ -996,6 +996,7 @@ static int smb2_init_dc_psy(struct smb2 *chip)
996
996
*************************/
997
997
998
998
static enum power_supply_property smb2_batt_props [] = {
999
+ POWER_SUPPLY_PROP_CHARGING_ENABLED ,
999
1000
POWER_SUPPLY_PROP_INPUT_SUSPEND ,
1000
1001
POWER_SUPPLY_PROP_STATUS ,
1001
1002
POWER_SUPPLY_PROP_HEALTH ,
@@ -1048,6 +1049,9 @@ static int smb2_batt_get_prop(struct power_supply *psy,
1048
1049
case POWER_SUPPLY_PROP_PRESENT :
1049
1050
rc = smblib_get_prop_batt_present (chg , val );
1050
1051
break ;
1052
+ case POWER_SUPPLY_PROP_CHARGING_ENABLED :
1053
+ val -> intval = !get_effective_result (chg -> chg_disable_votable );
1054
+ break ;
1051
1055
case POWER_SUPPLY_PROP_INPUT_SUSPEND :
1052
1056
rc = smblib_get_prop_input_suspend (chg , val );
1053
1057
break ;
@@ -1169,6 +1173,9 @@ static int smb2_batt_set_prop(struct power_supply *psy,
1169
1173
struct smb_charger * chg = power_supply_get_drvdata (psy );
1170
1174
1171
1175
switch (prop ) {
1176
+ case POWER_SUPPLY_PROP_CHARGING_ENABLED :
1177
+ vote (chg -> chg_disable_votable , USER_VOTER , !!!val -> intval , 0 );
1178
+ break ;
1172
1179
case POWER_SUPPLY_PROP_INPUT_SUSPEND :
1173
1180
rc = smblib_set_prop_input_suspend (chg , val );
1174
1181
break ;
@@ -1246,6 +1253,7 @@ static int smb2_batt_prop_is_writeable(struct power_supply *psy,
1246
1253
enum power_supply_property psp )
1247
1254
{
1248
1255
switch (psp ) {
1256
+ case POWER_SUPPLY_PROP_CHARGING_ENABLED :
1249
1257
case POWER_SUPPLY_PROP_INPUT_SUSPEND :
1250
1258
case POWER_SUPPLY_PROP_SYSTEM_TEMP_LEVEL :
1251
1259
case POWER_SUPPLY_PROP_CAPACITY :
0 commit comments