iio: accel: msa311: Switch to sparse friendly iio_device_claim/release_direct()

These new functions allow sparse to find failures to release
direct mode reducing chances of bugs over the claim_direct_mode()
functions that are deprecated.

Reviewed-by: David Lechner <dlechner@baylibre.com>
Link: https://patch.msgid.link/20250217140135.896574-8-jic23@kernel.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
Jonathan Cameron 2025-02-17 14:01:34 +00:00
parent 60a0cf2eba
commit 18a53d4012

View File

@ -594,13 +594,12 @@ static int msa311_read_raw_data(struct iio_dev *indio_dev,
__le16 axis;
int err;
err = iio_device_claim_direct_mode(indio_dev);
if (err)
return err;
if (!iio_device_claim_direct(indio_dev))
return -EBUSY;
err = pm_runtime_resume_and_get(dev);
if (err) {
iio_device_release_direct_mode(indio_dev);
iio_device_release_direct(indio_dev);
return err;
}
@ -611,7 +610,7 @@ static int msa311_read_raw_data(struct iio_dev *indio_dev,
pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
iio_device_release_direct_mode(indio_dev);
iio_device_release_direct(indio_dev);
if (err) {
dev_err(dev, "can't get axis %s (%pe)\n",
@ -763,13 +762,12 @@ static int msa311_write_samp_freq(struct iio_dev *indio_dev, int val, int val2)
* enabled, because sometimes MSA311 chip returns outliers during
* frequency values growing up in the read operation moment.
*/
err = iio_device_claim_direct_mode(indio_dev);
if (err)
return err;
if (!iio_device_claim_direct(indio_dev))
return -EBUSY;
err = pm_runtime_resume_and_get(dev);
if (err) {
iio_device_release_direct_mode(indio_dev);
iio_device_release_direct(indio_dev);
return err;
}
@ -786,7 +784,7 @@ static int msa311_write_samp_freq(struct iio_dev *indio_dev, int val, int val2)
pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
iio_device_release_direct_mode(indio_dev);
iio_device_release_direct(indio_dev);
if (err)
dev_err(dev, "can't update frequency (%pe)\n", ERR_PTR(err));