OSDN Git Service

iio: adc: max1027: Reset the device at probe time
authorMiquel Raynal <miquel.raynal@bootlin.com>
Fri, 11 Oct 2019 14:43:42 +0000 (16:43 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 4 Jan 2020 12:34:13 +0000 (13:34 +0100)
[ Upstream commit db033831b4f5589f9fcbadb837614a7c4eac0308 ]

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: Sasha Levin <sashal@kernel.org>
drivers/iio/adc/max1027.c

index 41d495c..7d5e411 100644 (file)
@@ -470,6 +470,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);