Re: [PATCH v2 3/3] iio: accel: adxl372: Perform a reset at start up

From: Jonathan Cameron
Date: Sun Sep 15 2019 - 09:33:45 EST


On Tue, 10 Sep 2019 17:44:46 +0300
Stefan Popa <stefan.popa@xxxxxxxxxx> wrote:

> We need to perform a reset a start up to make sure that the chip is in a
> consistent state. This reset also disables all the interrupts which
> should only be enabled together with the iio buffer. Not doing this, was
> sometimes causing unwanted interrupts to trigger.
>
> Signed-off-by: Stefan Popa <stefan.popa@xxxxxxxxxx>
Added the same fixes tag, and cc for stable. We'll have to keep an eye
on this though as there are other patches after the one hightlighted so
they may not go on cleanly.

Thanks,

Jonathan

> ---
> Changes in v2:
> - Instead of disabling the interrupts, now this patch performs
> a software reset.
>
> drivers/iio/accel/adxl372.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/iio/accel/adxl372.c b/drivers/iio/accel/adxl372.c
> index 33edca8..8a00528 100644
> --- a/drivers/iio/accel/adxl372.c
> +++ b/drivers/iio/accel/adxl372.c
> @@ -575,6 +575,14 @@ static int adxl372_setup(struct adxl372_state *st)
> return -ENODEV;
> }
>
> + /*
> + * Perform a software reset to make sure the device is in a consistent
> + * state after start up.
> + */
> + ret = regmap_write(st->regmap, ADXL372_RESET, ADXL372_RESET_CODE);
> + if (ret < 0)
> + return ret;
> +
> ret = adxl372_set_op_mode(st, ADXL372_STANDBY);
> if (ret < 0)
> return ret;