mirror of https://gitee.com/openkylin/linux.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 <yh.huang@mediatek.com> Reviewed-by: Daniel Kurtz <djkurtz@chromium.org> Signed-off-by: Sebastian Reichel <sre@kernel.org>
This commit is contained in:
parent
b9223da417
commit
4a99fa06a8
|
@ -382,8 +382,6 @@ static int sbs_get_battery_property(struct i2c_client *client,
|
||||||
|
|
||||||
if (ret & BATTERY_FULL_CHARGED)
|
if (ret & BATTERY_FULL_CHARGED)
|
||||||
val->intval = POWER_SUPPLY_STATUS_FULL;
|
val->intval = POWER_SUPPLY_STATUS_FULL;
|
||||||
else if (ret & BATTERY_FULL_DISCHARGED)
|
|
||||||
val->intval = POWER_SUPPLY_STATUS_NOT_CHARGING;
|
|
||||||
else if (ret & BATTERY_DISCHARGING)
|
else if (ret & BATTERY_DISCHARGING)
|
||||||
val->intval = POWER_SUPPLY_STATUS_DISCHARGING;
|
val->intval = POWER_SUPPLY_STATUS_DISCHARGING;
|
||||||
else
|
else
|
||||||
|
@ -702,8 +700,6 @@ static void sbs_delayed_work(struct work_struct *work)
|
||||||
|
|
||||||
if (ret & BATTERY_FULL_CHARGED)
|
if (ret & BATTERY_FULL_CHARGED)
|
||||||
ret = POWER_SUPPLY_STATUS_FULL;
|
ret = POWER_SUPPLY_STATUS_FULL;
|
||||||
else if (ret & BATTERY_FULL_DISCHARGED)
|
|
||||||
ret = POWER_SUPPLY_STATUS_NOT_CHARGING;
|
|
||||||
else if (ret & BATTERY_DISCHARGING)
|
else if (ret & BATTERY_DISCHARGING)
|
||||||
ret = POWER_SUPPLY_STATUS_DISCHARGING;
|
ret = POWER_SUPPLY_STATUS_DISCHARGING;
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue