diff options
author | Miquel Raynal <miquel.raynal@bootlin.com> | 2021-09-21 14:53:59 +0300 |
---|---|---|
committer | Jonathan Cameron <Jonathan.Cameron@huawei.com> | 2021-10-19 10:27:33 +0300 |
commit | c5a396298248238e4530e9351719b93b94e5b009 (patch) | |
tree | ad5c59bdfb9ce6c4dea8140d0e172d8caa49c233 /drivers | |
parent | eaf57d50c675eb52bae6531e336a31677fd028de (diff) | |
download | linux-c5a396298248238e4530e9351719b93b94e5b009.tar.xz |
iio: adc: max1027: Simplify the _set_trigger_state() helper
The call to max1027_enable_trigger() is the same in both cases thanks to
the 'state' variable, so factorize a little bit to simplify the code and
explain why we call this helper.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/r/20210921115408.66711-8-miquel.raynal@bootlin.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/iio/adc/max1027.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/drivers/iio/adc/max1027.c b/drivers/iio/adc/max1027.c index ad0ca63212cb..66a040cbee35 100644 --- a/drivers/iio/adc/max1027.c +++ b/drivers/iio/adc/max1027.c @@ -410,11 +410,17 @@ static int max1027_set_cnvst_trigger_state(struct iio_trigger *trig, bool state) struct max1027_state *st = iio_priv(indio_dev); int ret; - if (state) { - ret = max1027_enable_trigger(indio_dev, state); - if (ret) - return ret; + /* + * In order to disable the convst trigger, start acquisition on + * conversion register write, which basically disables triggering + * conversions upon cnvst changes and thus has the effect of disabling + * the external hardware trigger. + */ + ret = max1027_enable_trigger(indio_dev, state); + if (ret) + return ret; + if (state) { /* * Scan from chan 0 to the highest requested channel. * Include temperature on demand. @@ -427,11 +433,6 @@ static int max1027_set_cnvst_trigger_state(struct iio_trigger *trig, bool state) ret = spi_write(st->spi, &st->reg, 1); if (ret < 0) return ret; - } else { - /* Start acquisition on conversion register write */ - ret = max1027_enable_trigger(indio_dev, state); - if (ret) - return ret; } return 0; |