diff options
author | Simon Que <sque@chromium.org> | 2014-08-04 07:47:46 -0400 |
---|---|---|
committer | Sebastian Reichel <sre@kernel.org> | 2014-09-06 14:57:43 -0400 |
commit | 4495b0adfb65a8eb9a5255b831f2160b6e583f3d (patch) | |
tree | 3224cbd5923320dcdc92c8c7061dd446720a51d3 /drivers/power | |
parent | 9ea89402e25edafb6ad8ec92848d12c1d5d3969f (diff) |
sbs-battery: add min design voltage to sbs-battery
sbs-battery has a max design voltage but not a min design voltage field.
The SBS spec only has one design voltage:
http://www.sbs-forum.org/specs/sbdat110.pdf
Currently this is being used for max design voltage. This patch uses it
for min design voltage as well.
Signed-off-by: Simon Que <sque@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Todd Broch <tbroch@chromium.org>
Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
Diffstat (limited to 'drivers/power')
-rw-r--r-- | drivers/power/sbs-battery.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/power/sbs-battery.c b/drivers/power/sbs-battery.c index 08feb38cefc0..c7b7b4018df3 100644 --- a/drivers/power/sbs-battery.c +++ b/drivers/power/sbs-battery.c | |||
@@ -48,7 +48,8 @@ enum { | |||
48 | REG_FULL_CHARGE_CAPACITY_CHARGE, | 48 | REG_FULL_CHARGE_CAPACITY_CHARGE, |
49 | REG_DESIGN_CAPACITY, | 49 | REG_DESIGN_CAPACITY, |
50 | REG_DESIGN_CAPACITY_CHARGE, | 50 | REG_DESIGN_CAPACITY_CHARGE, |
51 | REG_DESIGN_VOLTAGE, | 51 | REG_DESIGN_VOLTAGE_MIN, |
52 | REG_DESIGN_VOLTAGE_MAX, | ||
52 | REG_MANUFACTURER, | 53 | REG_MANUFACTURER, |
53 | REG_MODEL_NAME, | 54 | REG_MODEL_NAME, |
54 | }; | 55 | }; |
@@ -114,7 +115,9 @@ static const struct chip_data { | |||
114 | SBS_DATA(POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN, 0x18, 0, 65535), | 115 | SBS_DATA(POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN, 0x18, 0, 65535), |
115 | [REG_DESIGN_CAPACITY_CHARGE] = | 116 | [REG_DESIGN_CAPACITY_CHARGE] = |
116 | SBS_DATA(POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN, 0x18, 0, 65535), | 117 | SBS_DATA(POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN, 0x18, 0, 65535), |
117 | [REG_DESIGN_VOLTAGE] = | 118 | [REG_DESIGN_VOLTAGE_MIN] = |
119 | SBS_DATA(POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN, 0x19, 0, 65535), | ||
120 | [REG_DESIGN_VOLTAGE_MAX] = | ||
118 | SBS_DATA(POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN, 0x19, 0, 65535), | 121 | SBS_DATA(POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN, 0x19, 0, 65535), |
119 | [REG_SERIAL_NUMBER] = | 122 | [REG_SERIAL_NUMBER] = |
120 | SBS_DATA(POWER_SUPPLY_PROP_SERIAL_NUMBER, 0x1C, 0, 65535), | 123 | SBS_DATA(POWER_SUPPLY_PROP_SERIAL_NUMBER, 0x1C, 0, 65535), |
@@ -138,6 +141,7 @@ static enum power_supply_property sbs_properties[] = { | |||
138 | POWER_SUPPLY_PROP_TIME_TO_EMPTY_AVG, | 141 | POWER_SUPPLY_PROP_TIME_TO_EMPTY_AVG, |
139 | POWER_SUPPLY_PROP_TIME_TO_FULL_AVG, | 142 | POWER_SUPPLY_PROP_TIME_TO_FULL_AVG, |
140 | POWER_SUPPLY_PROP_SERIAL_NUMBER, | 143 | POWER_SUPPLY_PROP_SERIAL_NUMBER, |
144 | POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN, | ||
141 | POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN, | 145 | POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN, |
142 | POWER_SUPPLY_PROP_ENERGY_NOW, | 146 | POWER_SUPPLY_PROP_ENERGY_NOW, |
143 | POWER_SUPPLY_PROP_ENERGY_FULL, | 147 | POWER_SUPPLY_PROP_ENERGY_FULL, |
@@ -431,6 +435,7 @@ static void sbs_unit_adjustment(struct i2c_client *client, | |||
431 | break; | 435 | break; |
432 | 436 | ||
433 | case POWER_SUPPLY_PROP_VOLTAGE_NOW: | 437 | case POWER_SUPPLY_PROP_VOLTAGE_NOW: |
438 | case POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN: | ||
434 | case POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN: | 439 | case POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN: |
435 | case POWER_SUPPLY_PROP_CURRENT_NOW: | 440 | case POWER_SUPPLY_PROP_CURRENT_NOW: |
436 | case POWER_SUPPLY_PROP_CHARGE_NOW: | 441 | case POWER_SUPPLY_PROP_CHARGE_NOW: |
@@ -592,6 +597,7 @@ static int sbs_get_property(struct power_supply *psy, | |||
592 | case POWER_SUPPLY_PROP_TEMP: | 597 | case POWER_SUPPLY_PROP_TEMP: |
593 | case POWER_SUPPLY_PROP_TIME_TO_EMPTY_AVG: | 598 | case POWER_SUPPLY_PROP_TIME_TO_EMPTY_AVG: |
594 | case POWER_SUPPLY_PROP_TIME_TO_FULL_AVG: | 599 | case POWER_SUPPLY_PROP_TIME_TO_FULL_AVG: |
600 | case POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN: | ||
595 | case POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN: | 601 | case POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN: |
596 | ret = sbs_get_property_index(client, psp); | 602 | ret = sbs_get_property_index(client, psp); |
597 | if (ret < 0) | 603 | if (ret < 0) |