diff mbox series

[v4,3/8] iio: adc: max1027: Reset the device at probe time

Message ID 20191011144347.19146-4-miquel.raynal@bootlin.com (mailing list archive)
State New, archived
Headers show
Series Introduce max12xx ADC support | expand

Commit Message

Miquel Raynal Oct. 11, 2019, 2:43 p.m. UTC
All the registers are configured by the driver, let's reset the chip
at probe time, avoiding any conflict with a possible earlier
configuration.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
---
 drivers/iio/adc/max1027.c | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Jonathan Cameron Oct. 12, 2019, 11:28 a.m. UTC | #1
On Fri, 11 Oct 2019 16:43:42 +0200
Miquel Raynal <miquel.raynal@bootlin.com> wrote:

> All the registers are configured by the driver, let's reset the chip
> at probe time, avoiding any conflict with a possible earlier
> configuration.
> 
> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Applied.

Thanks,

Jonathan

> ---
>  drivers/iio/adc/max1027.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/drivers/iio/adc/max1027.c b/drivers/iio/adc/max1027.c
> index 823223b77a70..f9b473ee6711 100644
> --- a/drivers/iio/adc/max1027.c
> +++ b/drivers/iio/adc/max1027.c
> @@ -466,6 +466,14 @@ static int max1027_probe(struct spi_device *spi)
>  		}
>  	}
>  
> +	/* Internal reset */
> +	st->reg = MAX1027_RST_REG;
> +	ret = spi_write(st->spi, &st->reg, 1);
> +	if (ret < 0) {
> +		dev_err(&indio_dev->dev, "Failed to reset the ADC\n");
> +		return ret;
> +	}
> +
>  	/* Disable averaging */
>  	st->reg = MAX1027_AVG_REG;
>  	ret = spi_write(st->spi, &st->reg, 1);
diff mbox series

Patch

diff --git a/drivers/iio/adc/max1027.c b/drivers/iio/adc/max1027.c
index 823223b77a70..f9b473ee6711 100644
--- a/drivers/iio/adc/max1027.c
+++ b/drivers/iio/adc/max1027.c
@@ -466,6 +466,14 @@  static int max1027_probe(struct spi_device *spi)
 		}
 	}
 
+	/* Internal reset */
+	st->reg = MAX1027_RST_REG;
+	ret = spi_write(st->spi, &st->reg, 1);
+	if (ret < 0) {
+		dev_err(&indio_dev->dev, "Failed to reset the ADC\n");
+		return ret;
+	}
+
 	/* Disable averaging */
 	st->reg = MAX1027_AVG_REG;
 	ret = spi_write(st->spi, &st->reg, 1);