diff options
Diffstat (limited to 'drivers/power/olpc_battery.c')
-rw-r--r-- | drivers/power/olpc_battery.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/power/olpc_battery.c b/drivers/power/olpc_battery.c index 58e419299cd6..3a589df09376 100644 --- a/drivers/power/olpc_battery.c +++ b/drivers/power/olpc_battery.c | |||
@@ -276,6 +276,14 @@ static int olpc_bat_get_property(struct power_supply *psy, | |||
276 | return ret; | 276 | return ret; |
277 | val->intval = ec_byte; | 277 | val->intval = ec_byte; |
278 | break; | 278 | break; |
279 | case POWER_SUPPLY_PROP_CAPACITY_LEVEL: | ||
280 | if (ec_byte & BAT_STAT_FULL) | ||
281 | val->intval = POWER_SUPPLY_CAPACITY_LEVEL_FULL; | ||
282 | else if (ec_byte & BAT_STAT_LOW) | ||
283 | val->intval = POWER_SUPPLY_CAPACITY_LEVEL_LOW; | ||
284 | else | ||
285 | val->intval = POWER_SUPPLY_CAPACITY_LEVEL_NORMAL; | ||
286 | break; | ||
279 | case POWER_SUPPLY_PROP_TEMP: | 287 | case POWER_SUPPLY_PROP_TEMP: |
280 | ret = olpc_ec_cmd(EC_BAT_TEMP, NULL, 0, (void *)&ec_word, 2); | 288 | ret = olpc_ec_cmd(EC_BAT_TEMP, NULL, 0, (void *)&ec_word, 2); |
281 | if (ret) | 289 | if (ret) |
@@ -321,6 +329,7 @@ static enum power_supply_property olpc_bat_props[] = { | |||
321 | POWER_SUPPLY_PROP_VOLTAGE_AVG, | 329 | POWER_SUPPLY_PROP_VOLTAGE_AVG, |
322 | POWER_SUPPLY_PROP_CURRENT_AVG, | 330 | POWER_SUPPLY_PROP_CURRENT_AVG, |
323 | POWER_SUPPLY_PROP_CAPACITY, | 331 | POWER_SUPPLY_PROP_CAPACITY, |
332 | POWER_SUPPLY_PROP_CAPACITY_LEVEL, | ||
324 | POWER_SUPPLY_PROP_TEMP, | 333 | POWER_SUPPLY_PROP_TEMP, |
325 | POWER_SUPPLY_PROP_TEMP_AMBIENT, | 334 | POWER_SUPPLY_PROP_TEMP_AMBIENT, |
326 | POWER_SUPPLY_PROP_MANUFACTURER, | 335 | POWER_SUPPLY_PROP_MANUFACTURER, |