Re: [PATCH v2 06/11] power: bq25890: update state on property read

From: Sebastian Reichel
Date: Sun May 03 2020 - 17:14:10 EST


Hi,

On Sun, May 03, 2020 at 05:21:12PM +0200, MichaÅ MirosÅaw wrote:
> Edge interrupts from the charger may be lost or stuck in fault mode
> since probe(). Check if something changed everytime userspace wants
> some data.
>
> Signed-off-by: MichaÅ MirosÅaw <mirq-linux@xxxxxxxxxxxx>
> ---

Reviewed-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx>

-- Sebastian

> drivers/power/supply/bq25890_charger.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/power/supply/bq25890_charger.c b/drivers/power/supply/bq25890_charger.c
> index 3b02fa80aedd..e4368d01396a 100644
> --- a/drivers/power/supply/bq25890_charger.c
> +++ b/drivers/power/supply/bq25890_charger.c
> @@ -389,6 +389,8 @@ static bool bq25890_is_adc_property(enum power_supply_property psp)
> }
> }
>
> +static irqreturn_t __bq25890_handle_irq(struct bq25890_device *bq);
> +
> static int bq25890_power_supply_get_property(struct power_supply *psy,
> enum power_supply_property psp,
> union power_supply_propval *val)
> @@ -399,6 +401,8 @@ static int bq25890_power_supply_get_property(struct power_supply *psy,
> int ret;
>
> mutex_lock(&bq->lock);
> + /* update state in case we lost an interrupt */
> + __bq25890_handle_irq(bq);
> state = bq->state;
> do_adc_conv = !state.online && bq25890_is_adc_property(psp);
> if (do_adc_conv)
> --
> 2.20.1
>

Attachment: signature.asc
Description: PGP signature