diff options
| author | Uwe Kleine-König <u.kleine-koenig@baylibre.com> | 2025-02-27 12:35:27 +0100 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-04-10 14:44:30 +0200 |
| commit | e301160aa64b94f41670fccbf5854f4cbd7030a8 (patch) | |
| tree | 53582bf5eb0e16d414450444aae8bad4acd539d1 | |
| parent | b5601c3d8c83da71f15b1333f3aeff37a69b3a68 (diff) | |
| download | linux-e301160aa64b94f41670fccbf5854f4cbd7030a8.tar.gz linux-e301160aa64b94f41670fccbf5854f4cbd7030a8.tar.bz2 linux-e301160aa64b94f41670fccbf5854f4cbd7030a8.zip | |
iio: adc: ad7173: Grab direct mode for calibration
[ Upstream commit 7021d97fb89b216557561ca8cdf68144c016993b ]
While a calibration is running, better don't make the device do anything
else.
To enforce that, grab direct mode during calibration.
Fixes: 031bdc8aee01 ("iio: adc: ad7173: add calibration support")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
Link: https://patch.msgid.link/8319fa2dc881c9899d60db4eba7fe8e984716617.1740655250.git.u.kleine-koenig@baylibre.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
| -rw-r--r-- | drivers/iio/adc/ad7173.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/iio/adc/ad7173.c b/drivers/iio/adc/ad7173.c index 6c4ed10ae580..6645a811764f 100644 --- a/drivers/iio/adc/ad7173.c +++ b/drivers/iio/adc/ad7173.c @@ -559,6 +559,9 @@ static ssize_t ad7173_write_syscalib(struct iio_dev *indio_dev, if (ret) return ret; + if (!iio_device_claim_direct(indio_dev)) + return -EBUSY; + mode = st->channels[chan->channel].syscalib_mode; if (sys_calib) { if (mode == AD7173_SYSCALIB_ZERO_SCALE) @@ -569,6 +572,8 @@ static ssize_t ad7173_write_syscalib(struct iio_dev *indio_dev, chan->address); } + iio_device_release_direct(indio_dev); + return ret ? : len; } |
