diff options
| -rw-r--r-- | Documentation/power/power_supply_class.txt | 2 | ||||
| -rw-r--r-- | drivers/power/max17042_battery.c | 8 | ||||
| -rw-r--r-- | drivers/power/power_supply_sysfs.c | 1 | ||||
| -rw-r--r-- | include/linux/power_supply.h | 2 |
4 files changed, 13 insertions, 0 deletions
diff --git a/Documentation/power/power_supply_class.txt b/Documentation/power/power_supply_class.txt index 9f16c5178b66..211831d4095f 100644 --- a/Documentation/power/power_supply_class.txt +++ b/Documentation/power/power_supply_class.txt | |||
| @@ -84,6 +84,8 @@ are already charged or discharging, 'n/a' can be displayed (or | |||
| 84 | HEALTH - represents health of the battery, values corresponds to | 84 | HEALTH - represents health of the battery, values corresponds to |
| 85 | POWER_SUPPLY_HEALTH_*, defined in battery.h. | 85 | POWER_SUPPLY_HEALTH_*, defined in battery.h. |
| 86 | 86 | ||
| 87 | VOLTAGE_OCV - open circuit voltage of the battery. | ||
| 88 | |||
| 87 | VOLTAGE_MAX_DESIGN, VOLTAGE_MIN_DESIGN - design values for maximal and | 89 | VOLTAGE_MAX_DESIGN, VOLTAGE_MIN_DESIGN - design values for maximal and |
| 88 | minimal power supply voltages. Maximal/minimal means values of voltages | 90 | minimal power supply voltages. Maximal/minimal means values of voltages |
| 89 | when battery considered "full"/"empty" at normal conditions. Yes, there is | 91 | when battery considered "full"/"empty" at normal conditions. Yes, there is |
diff --git a/drivers/power/max17042_battery.c b/drivers/power/max17042_battery.c index 738648d1d9fc..42c4be9a664b 100644 --- a/drivers/power/max17042_battery.c +++ b/drivers/power/max17042_battery.c | |||
| @@ -106,6 +106,7 @@ static enum power_supply_property max17042_battery_props[] = { | |||
| 106 | POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN, | 106 | POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN, |
| 107 | POWER_SUPPLY_PROP_VOLTAGE_NOW, | 107 | POWER_SUPPLY_PROP_VOLTAGE_NOW, |
| 108 | POWER_SUPPLY_PROP_VOLTAGE_AVG, | 108 | POWER_SUPPLY_PROP_VOLTAGE_AVG, |
| 109 | POWER_SUPPLY_PROP_VOLTAGE_OCV, | ||
| 109 | POWER_SUPPLY_PROP_CAPACITY, | 110 | POWER_SUPPLY_PROP_CAPACITY, |
| 110 | POWER_SUPPLY_PROP_CHARGE_FULL, | 111 | POWER_SUPPLY_PROP_CHARGE_FULL, |
| 111 | POWER_SUPPLY_PROP_TEMP, | 112 | POWER_SUPPLY_PROP_TEMP, |
| @@ -172,6 +173,13 @@ static int max17042_get_property(struct power_supply *psy, | |||
| 172 | 173 | ||
| 173 | val->intval = ret * 625 / 8; | 174 | val->intval = ret * 625 / 8; |
| 174 | break; | 175 | break; |
| 176 | case POWER_SUPPLY_PROP_VOLTAGE_OCV: | ||
| 177 | ret = max17042_read_reg(chip->client, MAX17042_OCVInternal); | ||
| 178 | if (ret < 0) | ||
| 179 | return ret; | ||
| 180 | |||
| 181 | val->intval = ret * 625 / 8; | ||
| 182 | break; | ||
| 175 | case POWER_SUPPLY_PROP_CAPACITY: | 183 | case POWER_SUPPLY_PROP_CAPACITY: |
| 176 | ret = max17042_read_reg(chip->client, MAX17042_RepSOC); | 184 | ret = max17042_read_reg(chip->client, MAX17042_RepSOC); |
| 177 | if (ret < 0) | 185 | if (ret < 0) |
diff --git a/drivers/power/power_supply_sysfs.c b/drivers/power/power_supply_sysfs.c index 4368e7d61316..4150747f9186 100644 --- a/drivers/power/power_supply_sysfs.c +++ b/drivers/power/power_supply_sysfs.c | |||
| @@ -146,6 +146,7 @@ static struct device_attribute power_supply_attrs[] = { | |||
| 146 | POWER_SUPPLY_ATTR(voltage_min_design), | 146 | POWER_SUPPLY_ATTR(voltage_min_design), |
| 147 | POWER_SUPPLY_ATTR(voltage_now), | 147 | POWER_SUPPLY_ATTR(voltage_now), |
| 148 | POWER_SUPPLY_ATTR(voltage_avg), | 148 | POWER_SUPPLY_ATTR(voltage_avg), |
| 149 | POWER_SUPPLY_ATTR(voltage_ocv), | ||
| 149 | POWER_SUPPLY_ATTR(current_max), | 150 | POWER_SUPPLY_ATTR(current_max), |
| 150 | POWER_SUPPLY_ATTR(current_now), | 151 | POWER_SUPPLY_ATTR(current_now), |
| 151 | POWER_SUPPLY_ATTR(current_avg), | 152 | POWER_SUPPLY_ATTR(current_avg), |
diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h index c38c13db8832..fd17ae0f9c20 100644 --- a/include/linux/power_supply.h +++ b/include/linux/power_supply.h | |||
| @@ -96,6 +96,7 @@ enum power_supply_property { | |||
| 96 | POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN, | 96 | POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN, |
| 97 | POWER_SUPPLY_PROP_VOLTAGE_NOW, | 97 | POWER_SUPPLY_PROP_VOLTAGE_NOW, |
| 98 | POWER_SUPPLY_PROP_VOLTAGE_AVG, | 98 | POWER_SUPPLY_PROP_VOLTAGE_AVG, |
| 99 | POWER_SUPPLY_PROP_VOLTAGE_OCV, | ||
| 99 | POWER_SUPPLY_PROP_CURRENT_MAX, | 100 | POWER_SUPPLY_PROP_CURRENT_MAX, |
| 100 | POWER_SUPPLY_PROP_CURRENT_NOW, | 101 | POWER_SUPPLY_PROP_CURRENT_NOW, |
| 101 | POWER_SUPPLY_PROP_CURRENT_AVG, | 102 | POWER_SUPPLY_PROP_CURRENT_AVG, |
| @@ -261,6 +262,7 @@ static inline bool power_supply_is_watt_property(enum power_supply_property psp) | |||
| 261 | case POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN: | 262 | case POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN: |
| 262 | case POWER_SUPPLY_PROP_VOLTAGE_NOW: | 263 | case POWER_SUPPLY_PROP_VOLTAGE_NOW: |
| 263 | case POWER_SUPPLY_PROP_VOLTAGE_AVG: | 264 | case POWER_SUPPLY_PROP_VOLTAGE_AVG: |
| 265 | case POWER_SUPPLY_PROP_VOLTAGE_OCV: | ||
| 264 | case POWER_SUPPLY_PROP_POWER_NOW: | 266 | case POWER_SUPPLY_PROP_POWER_NOW: |
| 265 | return 1; | 267 | return 1; |
| 266 | default: | 268 | default: |
