Skip to content

Commit 787fdbc

Browse files
committed
power: supply: sbs-battery: add POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT/VOLTAGE_MAX support
Expose maximum charge current/voltage information requested by the battery. Reviewed-by: Emil Velikov <[email protected]> Signed-off-by: Sebastian Reichel <[email protected]>
1 parent 3e9544f commit 787fdbc

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

drivers/power/supply/sbs-battery.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ enum {
4646
REG_CHEMISTRY,
4747
REG_MANUFACTURER,
4848
REG_MODEL_NAME,
49+
REG_CHARGE_CURRENT,
50+
REG_CHARGE_VOLTAGE,
4951
};
5052

5153
#define REG_ADDR_SPEC_INFO 0x1A
@@ -114,6 +116,10 @@ static const struct chip_data {
114116
SBS_DATA(POWER_SUPPLY_PROP_TIME_TO_EMPTY_AVG, 0x12, 0, 65535),
115117
[REG_TIME_TO_FULL] =
116118
SBS_DATA(POWER_SUPPLY_PROP_TIME_TO_FULL_AVG, 0x13, 0, 65535),
119+
[REG_CHARGE_CURRENT] =
120+
SBS_DATA(POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX, 0x14, 0, 65535),
121+
[REG_CHARGE_VOLTAGE] =
122+
SBS_DATA(POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX, 0x15, 0, 65535),
117123
[REG_STATUS] =
118124
SBS_DATA(POWER_SUPPLY_PROP_STATUS, 0x16, 0, 65535),
119125
[REG_CAPACITY_LEVEL] =
@@ -163,6 +169,8 @@ static enum power_supply_property sbs_properties[] = {
163169
POWER_SUPPLY_PROP_CHARGE_NOW,
164170
POWER_SUPPLY_PROP_CHARGE_FULL,
165171
POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN,
172+
POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX,
173+
POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX,
166174
/* Properties of type `const char *' */
167175
POWER_SUPPLY_PROP_MANUFACTURER,
168176
POWER_SUPPLY_PROP_MODEL_NAME
@@ -531,6 +539,8 @@ static void sbs_unit_adjustment(struct i2c_client *client,
531539
case POWER_SUPPLY_PROP_CURRENT_NOW:
532540
case POWER_SUPPLY_PROP_CURRENT_AVG:
533541
case POWER_SUPPLY_PROP_CHARGE_NOW:
542+
case POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX:
543+
case POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX:
534544
case POWER_SUPPLY_PROP_CHARGE_FULL:
535545
case POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN:
536546
val->intval *= BASE_UNIT_CONVERSION;
@@ -749,6 +759,8 @@ static int sbs_get_property(struct power_supply *psy,
749759
case POWER_SUPPLY_PROP_TIME_TO_FULL_AVG:
750760
case POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN:
751761
case POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN:
762+
case POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX:
763+
case POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX:
752764
case POWER_SUPPLY_PROP_CAPACITY:
753765
case POWER_SUPPLY_PROP_CAPACITY_ERROR_MARGIN:
754766
ret = sbs_get_property_index(client, psp);

0 commit comments

Comments
 (0)