aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/power/olpc_battery.c
diff options
context:
space:
mode:
authorAndres Salomon <dilinger@collabora.co.uk>2009-07-02 09:45:18 -0400
committerAnton Vorontsov <cbouatmailru@gmail.com>2009-07-02 10:14:37 -0400
commitee8076ed3e1cdd0cd1e61318386932669c90b92f (patch)
tree0ca72268b6c91a2a07920c93558ea70c32479845 /drivers/power/olpc_battery.c
parent144bbeaedc53290eab21da82ce1cb5faefd14374 (diff)
power_supply: Add a charge_type property, and use it for olpc driver
This adds a new sysfs file called 'charge_type' which displays the type of charging (unknown, n/a, trickle charge, or fast charging). This allows things like battery diagnostics to determine what the battery/EC is doing without resorting to changing the 'status' sysfs output. Signed-off-by: Andres Salomon <dilinger@collabora.co.uk> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
Diffstat (limited to 'drivers/power/olpc_battery.c')
-rw-r--r--drivers/power/olpc_battery.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/power/olpc_battery.c b/drivers/power/olpc_battery.c
index 602bbd008f78..8fefe5a73558 100644
--- a/drivers/power/olpc_battery.c
+++ b/drivers/power/olpc_battery.c
@@ -233,6 +233,14 @@ static int olpc_bat_get_property(struct power_supply *psy,
233 if (ret) 233 if (ret)
234 return ret; 234 return ret;
235 break; 235 break;
236 case POWER_SUPPLY_PROP_CHARGE_TYPE:
237 if (ec_byte & BAT_STAT_TRICKLE)
238 val->intval = POWER_SUPPLY_CHARGE_TYPE_TRICKLE;
239 else if (ec_byte & BAT_STAT_CHARGING)
240 val->intval = POWER_SUPPLY_CHARGE_TYPE_FAST;
241 else
242 val->intval = POWER_SUPPLY_CHARGE_TYPE_NONE;
243 break;
236 case POWER_SUPPLY_PROP_PRESENT: 244 case POWER_SUPPLY_PROP_PRESENT:
237 val->intval = !!(ec_byte & (BAT_STAT_PRESENT | 245 val->intval = !!(ec_byte & (BAT_STAT_PRESENT |
238 BAT_STAT_TRICKLE)); 246 BAT_STAT_TRICKLE));
@@ -325,6 +333,7 @@ static int olpc_bat_get_property(struct power_supply *psy,
325 333
326static enum power_supply_property olpc_bat_props[] = { 334static enum power_supply_property olpc_bat_props[] = {
327 POWER_SUPPLY_PROP_STATUS, 335 POWER_SUPPLY_PROP_STATUS,
336 POWER_SUPPLY_PROP_CHARGE_TYPE,
328 POWER_SUPPLY_PROP_PRESENT, 337 POWER_SUPPLY_PROP_PRESENT,
329 POWER_SUPPLY_PROP_HEALTH, 338 POWER_SUPPLY_PROP_HEALTH,
330 POWER_SUPPLY_PROP_TECHNOLOGY, 339 POWER_SUPPLY_PROP_TECHNOLOGY,