| From 109cdc939b6ae7e792e861070cebdc71c1184abb Mon Sep 17 00:00:00 2001 |
| From: Miquel Raynal <miquel.raynal@bootlin.com> |
| Date: Fri, 11 Oct 2019 16:43:42 +0200 |
| Subject: [PATCH] iio: adc: max1027: Reset the device at probe time |
| |
| commit db033831b4f5589f9fcbadb837614a7c4eac0308 upstream. |
| |
| 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> |
| Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/iio/adc/max1027.c b/drivers/iio/adc/max1027.c |
| index da84adfdb819..2ce3dd95204f 100644 |
| --- a/drivers/iio/adc/max1027.c |
| +++ b/drivers/iio/adc/max1027.c |
| @@ -457,6 +457,14 @@ static int max1027_probe(struct spi_device *spi) |
| goto fail_dev_register; |
| } |
| |
| + /* 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); |
| -- |
| 2.7.4 |
| |