diff options
-rw-r--r-- | drivers/iio/accel/msa311.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/drivers/iio/accel/msa311.c b/drivers/iio/accel/msa311.c index 7f4ab7cdbc4a..d31c11fbbe68 100644 --- a/drivers/iio/accel/msa311.c +++ b/drivers/iio/accel/msa311.c @@ -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)); |