iio: adc: ad7606: Allow reconfigration after reset
authorBeniamin Bia <beniamin.bia@analog.com>
Thu, 18 Jul 2019 06:27:32 +0000 (09:27 +0300)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 28 Jul 2019 07:54:32 +0000 (08:54 +0100)
According to datasheet, ad7616 require at least 15ms after a restart
to fully reconfigure and being able to receive new commands via spi.

Signed-off-by: Beniamin Bia <beniamin.bia@analog.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/ad7606.c

index 9eec3db..a6034cf 100644 (file)
@@ -594,6 +594,10 @@ int ad7606_probe(struct device *dev, int irq, void __iomem *base_address,
        if (ret)
                dev_warn(st->dev, "failed to RESET: no RESET GPIO specified\n");
 
+       /* AD7616 requires al least 15ms to reconfigure after a reset */
+       if (msleep_interruptible(15))
+               return -ERESTARTSYS;
+
        st->write_scale = ad7606_write_scale_hw;
        st->write_os = ad7606_write_os_hw;