[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