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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux