From: Jonathan Cameron Date: Mon, 17 Feb 2025 14:16:20 +0000 (+0000) Subject: iio: adc: ad_sigma_delta: Switch to sparse friendly iio_device_claim/release_direct() X-Git-Tag: v6.15-rc1~78^2~8^2~63 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6eedf172d964be30364c3d8ac30751a6ce4815d8;p=thirdparty%2Fkernel%2Flinux.git iio: adc: ad_sigma_delta: 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. This is a complex function with a lot more than the release of direct mode to unwind on error. As such no attempt made to factor out the inner code. Cc: Uwe Kleine-König Reviewed-by: Nuno Sá Link: https://patch.msgid.link/20250217141630.897334-21-jic23@kernel.org Signed-off-by: Jonathan Cameron --- diff --git a/drivers/iio/adc/ad_sigma_delta.c b/drivers/iio/adc/ad_sigma_delta.c index 10e635fc4fa4b..5907c35b98e54 100644 --- a/drivers/iio/adc/ad_sigma_delta.c +++ b/drivers/iio/adc/ad_sigma_delta.c @@ -386,9 +386,8 @@ int ad_sigma_delta_single_conversion(struct iio_dev *indio_dev, unsigned int data_reg; int ret = 0; - ret = iio_device_claim_direct_mode(indio_dev); - if (ret) - return ret; + if (!iio_device_claim_direct(indio_dev)) + return -EBUSY; ad_sigma_delta_set_channel(sigma_delta, chan->address); @@ -431,7 +430,7 @@ out_unlock: sigma_delta->keep_cs_asserted = false; sigma_delta->bus_locked = false; spi_bus_unlock(sigma_delta->spi->controller); - iio_device_release_direct_mode(indio_dev); + iio_device_release_direct(indio_dev); if (ret) return ret;