Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

power: supply: bq27xxx: After charger plug in/out wait 0.5s for things to stabilize

bq27xxx_external_power_changed() gets called when the charger is plugged
in or out. Rather then immediately scheduling an update wait 0.5 seconds
for things to stabilize, so that e.g. the (dis)charge current is stable
when bq27xxx_battery_update() runs.

Fixes: 740b755a3b34 ("bq27x00: Poll battery state")
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

authored by

Hans de Goede and committed by
Sebastian Reichel
59a99cd4 939a1161

+2 -2
+2 -2
drivers/power/supply/bq27xxx_battery.c
··· 2099 2099 { 2100 2100 struct bq27xxx_device_info *di = power_supply_get_drvdata(psy); 2101 2101 2102 - cancel_delayed_work_sync(&di->work); 2103 - schedule_delayed_work(&di->work, 0); 2102 + /* After charger plug in/out wait 0.5s for things to stabilize */ 2103 + mod_delayed_work(system_wq, &di->work, HZ / 2); 2104 2104 } 2105 2105 2106 2106 int bq27xxx_battery_setup(struct bq27xxx_device_info *di)