Re: [PATCH 2/3] iio: st_sensors: Disable DRDY at init time

From: Jonathan Cameron
Date: Sat May 14 2016 - 12:55:18 EST


On 13/05/16 19:43, Crestez Dan Leonard wrote:
> This fixes odd behavior after reboot.
>
> The fact that we set the device to powerdown mode is not sufficient to
> prevent DRDY being active because we might still have an unread sample.
>
> Even if powerdown was sufficient keeping DRDY disabled while trigger is
> not active is a good idea.
>
> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>
> Cc: Giuseppe Barba <giuseppe.barba@xxxxxx>
> Cc: Denis Ciocca <denis.ciocca@xxxxxx>
> Signed-off-by: Crestez Dan Leonard <leonard.crestez@xxxxxxxxx>
Again, this one seems obviously correct to me, but would like Denis Ack.

Jonathan
> ---
> drivers/iio/common/st_sensors/st_sensors_core.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/iio/common/st_sensors/st_sensors_core.c b/drivers/iio/common/st_sensors/st_sensors_core.c
> index 928ee68..9e59c90 100644
> --- a/drivers/iio/common/st_sensors/st_sensors_core.c
> +++ b/drivers/iio/common/st_sensors/st_sensors_core.c
> @@ -363,6 +363,11 @@ int st_sensors_init_sensor(struct iio_dev *indio_dev,
> if (err < 0)
> return err;
>
> + /* Disable DRDY, this might be still be enabled after reboot. */
> + err = st_sensors_set_dataready_irq(indio_dev, false);
> + if (err < 0)
> + return err;
> +
> if (sdata->current_fullscale) {
> err = st_sensors_set_fullscale(indio_dev,
> sdata->current_fullscale->num);
>