From 6f16b5cc75b2822b1dbc5955a97f5d652c180fef Mon Sep 17 00:00:00 2001 From: Shunqing Chen Date: Sat, 21 Nov 2020 08:21:16 +0000 Subject: [PATCH] power: rk817-battery: update battery info after plug in/out charger Signed-off-by: Shunqing Chen Change-Id: I205804856ca13fa8b3e8a951534dc4ed63a2c852 --- drivers/power/supply/rk817_battery.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/power/supply/rk817_battery.c b/drivers/power/supply/rk817_battery.c index 8ad024419d29..450b80f09532 100644 --- a/drivers/power/supply/rk817_battery.c +++ b/drivers/power/supply/rk817_battery.c @@ -620,6 +620,7 @@ struct rk817_battery_device { int plugout_irq; int chip_id; int is_register_chg_psy; + bool change; /* Battery status change, report information */ }; static u64 get_boot_sec(void) @@ -2218,9 +2219,10 @@ static void rk817_bat_power_supply_changed(struct rk817_battery_device *battery) else if (battery->dsoc < 0) battery->dsoc = 0; - if (battery->dsoc == old_soc) + if (battery->dsoc == old_soc && !battery->change) return; + battery->change = false; old_soc = battery->dsoc; battery->last_dsoc = battery->dsoc; power_supply_changed(battery->bat); @@ -2271,6 +2273,7 @@ rk817_bat_update_charging_status(struct rk817_battery_device *battery) if (is_charging == battery->is_charging) return; + battery->change = true; battery->is_charging = is_charging; if (is_charging) battery->charge_count++;