summaryrefslogtreecommitdiffstats
path: root/drivers/iio/adc/max1027.c
diff options
context:
space:
mode:
authorMiquel Raynal <miquel.raynal@bootlin.com>2021-09-21 13:54:00 +0200
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2021-10-19 09:27:33 +0200
commitcba18232c4f80b64325e351a6d2264cbbfeacb81 (patch)
tree1efc557ce6cd52c349da3e704b9ec054648919f7 /drivers/iio/adc/max1027.c
parentiio: adc: max1027: Simplify the _set_trigger_state() helper (diff)
downloadlinux-cba18232c4f80b64325e351a6d2264cbbfeacb81.tar.xz
linux-cba18232c4f80b64325e351a6d2264cbbfeacb81.zip
iio: adc: max1027: Ensure a default cnvst trigger configuration
We don't expect the (hardware) cnvst trigger to be enabled at boot time, this is a user choice made in sysfs and there is a dedicated callback to enable/disable this trigger. Hence, we can just ensure it is disabled in the probe at initialization time and then assume that whenever a ->read_raw() call happens, the trigger has been disabled and conversions will start on register write. Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Link: https://lore.kernel.org/r/20210921115408.66711-9-miquel.raynal@bootlin.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Diffstat (limited to 'drivers/iio/adc/max1027.c')
-rw-r--r--drivers/iio/adc/max1027.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/iio/adc/max1027.c b/drivers/iio/adc/max1027.c
index 66a040cbee35..fe5e9f95174b 100644
--- a/drivers/iio/adc/max1027.c
+++ b/drivers/iio/adc/max1027.c
@@ -303,10 +303,6 @@ static int max1027_read_single_value(struct iio_dev *indio_dev,
return -EBUSY;
}
- ret = max1027_enable_trigger(indio_dev, false);
- if (ret)
- return ret;
-
/* Configure conversion register with the requested chan */
st->reg = MAX1027_CONV_REG | MAX1027_CHAN(chan->channel) |
MAX1027_NOSCAN;
@@ -558,6 +554,11 @@ static int max1027_probe(struct spi_device *spi)
return ret;
}
+ /* Assume conversion on register write for now */
+ ret = max1027_enable_trigger(indio_dev, false);
+ if (ret)
+ return ret;
+
return devm_iio_device_register(&spi->dev, indio_dev);
}