From: YH Huang Date: Wed, 6 Apr 2016 02:32:25 +0000 (+0800) Subject: sbs-battery: fix power status when battery charging near dry X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=4a99fa06a8ca27a5187636e630568658000af575;p=linux-beck.git 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 Reviewed-by: Daniel Kurtz Signed-off-by: Sebastian Reichel --- 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, if (ret & BATTERY_FULL_CHARGED) val->intval = POWER_SUPPLY_STATUS_FULL; - else if (ret & BATTERY_FULL_DISCHARGED) - val->intval = POWER_SUPPLY_STATUS_NOT_CHARGING; else if (ret & BATTERY_DISCHARGING) val->intval = POWER_SUPPLY_STATUS_DISCHARGING; else @@ -702,8 +700,6 @@ static void sbs_delayed_work(struct work_struct *work) if (ret & BATTERY_FULL_CHARGED) ret = POWER_SUPPLY_STATUS_FULL; - else if (ret & BATTERY_FULL_DISCHARGED) - ret = POWER_SUPPLY_STATUS_NOT_CHARGING; else if (ret & BATTERY_DISCHARGING) ret = POWER_SUPPLY_STATUS_DISCHARGING; else