aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/power
diff options
context:
space:
mode:
authorSimon Que <sque@chromium.org>2014-08-04 07:47:46 -0400
committerSebastian Reichel <sre@kernel.org>2014-09-06 14:57:43 -0400
commit4495b0adfb65a8eb9a5255b831f2160b6e583f3d (patch)
tree3224cbd5923320dcdc92c8c7061dd446720a51d3 /drivers/power
parent9ea89402e25edafb6ad8ec92848d12c1d5d3969f (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.c10
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)