diff options
author | YH Huang <yh.huang@mediatek.com> | 2016-04-05 22:32:25 -0400 |
---|---|---|
committer | Sebastian Reichel <sre@kernel.org> | 2016-04-10 11:22:35 -0400 |
commit | 4a99fa06a8ca27a5187636e630568658000af575 (patch) | |
tree | a13f148fce1554569f1302301e29e4162046ae56 /drivers/power | |
parent | b9223da41794030a5dfd5106c34ed1b98255e2ae (diff) |
sbs-battery: fix power status when battery charging near dry
POWER_SUPPLY_STATUS_NOT_CHARGING is used for AC connected, but
battery not charging (e.g. because battery temperature is out
of acceptable range).
When battery is charging near dry and BATTERY_FULL_DISCHARGED is set,
it is wrong to set as POWER_SUPPLY_STATUS_NOT_CHARGING.
Just use BATTERY_DISCHARGING to decide the power supply status is
discharging or charging.
Signed-off-by: YH Huang <yh.huang@mediatek.com>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
Diffstat (limited to 'drivers/power')
-rw-r--r-- | drivers/power/sbs-battery.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/power/sbs-battery.c b/drivers/power/sbs-battery.c index d6226d68b574..768b9fcb58ea 100644 --- a/drivers/power/sbs-battery.c +++ b/drivers/power/sbs-battery.c | |||
@@ -382,8 +382,6 @@ static int sbs_get_battery_property(struct i2c_client *client, | |||
382 | 382 | ||
383 | if (ret & BATTERY_FULL_CHARGED) | 383 | if (ret & BATTERY_FULL_CHARGED) |
384 | val->intval = POWER_SUPPLY_STATUS_FULL; | 384 | val->intval = POWER_SUPPLY_STATUS_FULL; |
385 | else if (ret & BATTERY_FULL_DISCHARGED) | ||
386 | val->intval = POWER_SUPPLY_STATUS_NOT_CHARGING; | ||
387 | else if (ret & BATTERY_DISCHARGING) | 385 | else if (ret & BATTERY_DISCHARGING) |
388 | val->intval = POWER_SUPPLY_STATUS_DISCHARGING; | 386 | val->intval = POWER_SUPPLY_STATUS_DISCHARGING; |
389 | else | 387 | else |
@@ -702,8 +700,6 @@ static void sbs_delayed_work(struct work_struct *work) | |||
702 | 700 | ||
703 | if (ret & BATTERY_FULL_CHARGED) | 701 | if (ret & BATTERY_FULL_CHARGED) |
704 | ret = POWER_SUPPLY_STATUS_FULL; | 702 | ret = POWER_SUPPLY_STATUS_FULL; |
705 | else if (ret & BATTERY_FULL_DISCHARGED) | ||
706 | ret = POWER_SUPPLY_STATUS_NOT_CHARGING; | ||
707 | else if (ret & BATTERY_DISCHARGING) | 703 | else if (ret & BATTERY_DISCHARGING) |
708 | ret = POWER_SUPPLY_STATUS_DISCHARGING; | 704 | ret = POWER_SUPPLY_STATUS_DISCHARGING; |
709 | else | 705 | else |