power: bq25890: Enable continuous conversion for ADC at charging
authorYauhen Kharuzhy <jekhor@gmail.com>
Sun, 7 Nov 2021 20:20:01 +0000 (23:20 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jan 2022 07:47:40 +0000 (08:47 +0100)
[ Upstream commit 80211be1b9dec04cc2805d3d81e2091ecac289a1 ]

Instead of one shot run of ADC at beginning of charging, run continuous
conversion to ensure that all charging-related values are monitored
properly (input voltage, input current, themperature etc.).

Signed-off-by: Yauhen Kharuzhy <jekhor@gmail.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/power/supply/bq25890_charger.c

index f993a55cde20f34a00d60d46b762e37ecef7af64..faf2a62435674e0452d83244425a26c7a052344b 100644 (file)
@@ -521,12 +521,12 @@ static void bq25890_handle_state_change(struct bq25890_device *bq,
 
        if (!new_state->online) {                            /* power removed */
                /* disable ADC */
-               ret = bq25890_field_write(bq, F_CONV_START, 0);
+               ret = bq25890_field_write(bq, F_CONV_RATE, 0);
                if (ret < 0)
                        goto error;
        } else if (!old_state.online) {                     /* power inserted */
                /* enable ADC, to have control of charge current/voltage */
-               ret = bq25890_field_write(bq, F_CONV_START, 1);
+               ret = bq25890_field_write(bq, F_CONV_RATE, 1);
                if (ret < 0)
                        goto error;
        }