power: supply: bq25890: Fix setting of F_CONV_RATE rate when disabling HiZ mode
authorHans de Goede <hdegoede@redhat.com>
Mon, 28 Nov 2022 09:28:52 +0000 (10:28 +0100)
committerSebastian Reichel <sebastian.reichel@collabora.com>
Mon, 2 Jan 2023 23:04:26 +0000 (00:04 +0100)
commit4413f9e9138fe4c50db80596635a1f7f1e8bfa6a
tree724090ef7706214afcd8c5000529726c2e5aa44d
parentc688e0c436cb5292285a193134346fcdaaa3a56d
power: supply: bq25890: Fix setting of F_CONV_RATE rate when disabling HiZ mode

The recent "power: supply: bq25890: Add HiZ mode support" change
leaves F_CONV_RATE rate unset when disabling HiZ mode (setting
POWER_SUPPLY_PROP_ONLINE to 1) while a charger is connected.

Separate the resetting HiZ mode (when necessary because of a charger
(re)plug event) into its own "if {}" block which runs first.

And fix the setting of F_CONV_RATE rate by adding helper variables for
the old and new F_CONV_RATE state which check both the online and hiz bits
and then compare the helper variables to see if a F_CONV_RATE update is
necessary.

Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
drivers/power/supply/bq25890_charger.c