[PATCH v4 5/9] iio: adc: meson_saradc: annotate the lock helpers

From: Rupesh Majhi

Date: Tue Oct 27 2026 - 09:03:31 EST


meson_sar_adc_lock() returns 0 with priv->lock held, and
meson_sar_adc_unlock() releases it. Annotate both so context analysis
follows the lock into the callers. Only indio_dev is in scope in the
annotation, so the lock is reached through iio_priv().

Signed-off-by: Rupesh Majhi <zoone.rupert@xxxxxxxxx>
---
Cc: Marco Elver <elver@xxxxxxxxxx>
Cc: Bart Van Assche <bvanassche@xxxxxxx>

drivers/iio/adc/meson_saradc.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/iio/adc/meson_saradc.c b/drivers/iio/adc/meson_saradc.c
index 2b003fd5afeb..3c1bc2274129 100644
--- a/drivers/iio/adc/meson_saradc.c
+++ b/drivers/iio/adc/meson_saradc.c
@@ -578,6 +578,7 @@ static void meson_sar_adc_stop_sample_engine(struct iio_dev *indio_dev)
}

static int meson_sar_adc_lock(struct iio_dev *indio_dev)
+ __cond_acquires(0, &((struct meson_sar_adc_priv *)iio_priv(indio_dev))->lock)
{
struct meson_sar_adc_priv *priv = iio_priv(indio_dev);
int val, ret;
@@ -608,6 +609,7 @@ static int meson_sar_adc_lock(struct iio_dev *indio_dev)
}

static void meson_sar_adc_unlock(struct iio_dev *indio_dev)
+ __releases(&((struct meson_sar_adc_priv *)iio_priv(indio_dev))->lock)
{
struct meson_sar_adc_priv *priv = iio_priv(indio_dev);

--
2.43.0