From: Jonathan Cameron Date: Sun, 9 Feb 2025 18:06:00 +0000 (+0000) Subject: iio: chemical: scd30: Switch to sparse friendly claim/release_direct() X-Git-Tag: v6.15-rc1~78^2~8^2~122 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=403f0f9b3609b88fa2beb774893867a238f51a64;p=thirdparty%2Fkernel%2Flinux.git iio: chemical: scd30: Switch to sparse friendly claim/release_direct() This driver caused a false positive with __cond_lock() style solution but is fine with the simple boolean return approach now used. Cc: Tomasz Duszynski Reviewed-by: David Lechner Link: https://patch.msgid.link/20250209180624.701140-4-jic23@kernel.org Signed-off-by: Jonathan Cameron --- diff --git a/drivers/iio/chemical/scd30_core.c b/drivers/iio/chemical/scd30_core.c index 23ba46f7ca320..3fed6b63710f0 100644 --- a/drivers/iio/chemical/scd30_core.c +++ b/drivers/iio/chemical/scd30_core.c @@ -211,18 +211,17 @@ static int scd30_read_raw(struct iio_dev *indio_dev, struct iio_chan_spec const return IIO_VAL_INT; } - ret = iio_device_claim_direct_mode(indio_dev); - if (ret) - return ret; + if (!iio_device_claim_direct(indio_dev)) + return -EBUSY; ret = scd30_read(state); if (ret) { - iio_device_release_direct_mode(indio_dev); + iio_device_release_direct(indio_dev); return ret; } *val = state->meas[chan->address]; - iio_device_release_direct_mode(indio_dev); + iio_device_release_direct(indio_dev); return IIO_VAL_INT; case IIO_CHAN_INFO_SCALE: *val = 0;