From d31742bfa897f6ec0f28ba88abf80400552fec7b Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Fri, 10 Jul 2009 16:28:33 +0100 Subject: [PATCH] --- yaml --- r: 165503 b: refs/heads/master c: 4aed03ae58946c716c8e3f7060f8b500b8a8e30f h: refs/heads/master i: 165501: 2acd18faacf86cd2140775202a06d4c80ead57cf 165499: 6c5e6cee3d5f76d20ba1e826800fd809da97932e 165495: e02236b1654e6e6eaad4c6ebc06f9ae5a4cd8245 165487: dfeef78467ca7f1fc9043ae27b7d20d47b54e005 165471: aac050af5737eda886e828f7bf526ecc5ba5178d 165439: 1adebcaabf6f25313323d2c64f938a5fc4f21e14 165375: f5d0b400dafbcd03b682d82c569ed89b7bd74806 v: v3 --- [refs] | 2 +- trunk/drivers/power/wm8350_power.c | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 794e9d075adb..e00a03dc13ba 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ee8076ed3e1cdd0cd1e61318386932669c90b92f +refs/heads/master: 4aed03ae58946c716c8e3f7060f8b500b8a8e30f diff --git a/trunk/drivers/power/wm8350_power.c b/trunk/drivers/power/wm8350_power.c index 1b16bf343f2f..28b0299c0043 100644 --- a/trunk/drivers/power/wm8350_power.c +++ b/trunk/drivers/power/wm8350_power.c @@ -321,6 +321,24 @@ static int wm8350_bat_check_health(struct wm8350 *wm8350) return POWER_SUPPLY_HEALTH_GOOD; } +static int wm8350_bat_get_charge_type(struct wm8350 *wm8350) +{ + int state; + + state = wm8350_reg_read(wm8350, WM8350_BATTERY_CHARGER_CONTROL_2) & + WM8350_CHG_STS_MASK; + switch (state) { + case WM8350_CHG_STS_OFF: + return POWER_SUPPLY_CHARGE_TYPE_NONE; + case WM8350_CHG_STS_TRICKLE: + return POWER_SUPPLY_CHARGE_TYPE_TRICKLE; + case WM8350_CHG_STS_FAST: + return POWER_SUPPLY_CHARGE_TYPE_FAST; + default: + return POWER_SUPPLY_CHARGE_TYPE_UNKNOWN; + } +} + static int wm8350_bat_get_property(struct power_supply *psy, enum power_supply_property psp, union power_supply_propval *val) @@ -342,6 +360,9 @@ static int wm8350_bat_get_property(struct power_supply *psy, case POWER_SUPPLY_PROP_HEALTH: val->intval = wm8350_bat_check_health(wm8350); break; + case POWER_SUPPLY_PROP_CHARGE_TYPE: + val->intval = wm8350_bat_get_charge_type(wm8350); + break; default: ret = -EINVAL; break; @@ -355,6 +376,7 @@ static enum power_supply_property wm8350_bat_props[] = { POWER_SUPPLY_PROP_ONLINE, POWER_SUPPLY_PROP_VOLTAGE_NOW, POWER_SUPPLY_PROP_HEALTH, + POWER_SUPPLY_PROP_CHARGE_TYPE, }; /*********************************************************************