From: Rupesh Majhi <zoone.rupert@gmail.com>
To: "Alex Lanzano" <lanzano.alex@gmail.com>,
"Andy Shevchenko" <andy@kernel.org>,
"Benson Leung" <bleung@chromium.org>,
"David Lechner" <dlechner@baylibre.com>,
"Guenter Roeck" <groeck@chromium.org>,
"Jagath Jog J" <jagathjog1996@gmail.com>,
"Javier Carrasco" <javier.carrasco.cruz@gmail.com>,
"Jean-Baptiste Maneyrol" <jean-baptiste.maneyrol@tdk.com>,
"Jerome Brunet" <jbrunet@baylibre.com>,
"Jinseob Kim" <kimjinseob88@gmail.com>,
"Jonathan Cameron" <jic23@kernel.org>,
"Kevin Hilman" <khilman@baylibre.com>,
"Lorenzo Bianconi" <lorenzo@kernel.org>,
"Martin Blumenstingl" <martin.blumenstingl@googlemail.com>,
"Matti Vaittinen" <mazziesaccount@gmail.com>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Nuno Sá" <nuno.sa@analog.com>,
"Remi Buisson" <remi.buisson@tdk.com>
Cc: chrome-platform@lists.linux.dev,
linux-amlogic@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
linux-arm-msm@vger.kernel.org, linux-iio@vger.kernel.org,
linux-kernel@vger.kernel.org,
Rupesh Majhi <zoone.rupert@gmail.com>,
Marco Elver <elver@google.com>,
Bart Van Assche <bvanassche@acm.org>
Subject: [PATCH v4 2/9] iio: core: annotate the conditional mode claims
Date: Tue, 27 Oct 2026 14:49:47 +0200 [thread overview]
Message-ID: <20261027124954.110697-3-zoone.rupert@gmail.com> (raw)
In-Reply-To: <20261027124954.110697-1-zoone.rupert@gmail.com>
iio_device_claim_direct() and iio_device_try_claim_buffer_mode() hold
the mode lock only when they return true, but carry no annotation. With
context analysis on, each caller that releases the claim is reported
for releasing a lock it never took.
Mark both __cond_acquires(true, indio_dev), the token that
__iio_dev_mode_lock() acquires. Sparse no longer reads these
annotations, so drop the comment about it.
Signed-off-by: Rupesh Majhi <zoone.rupert@gmail.com>
---
Cc: Marco Elver <elver@google.com>
Cc: Bart Van Assche <bvanassche@acm.org>
include/linux/iio/iio.h | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h
index 9b63785d5aec..ca91f5a64626 100644
--- a/include/linux/iio/iio.h
+++ b/include/linux/iio/iio.h
@@ -707,13 +707,6 @@ int iio_push_event(struct iio_dev *indio_dev, u64 ev_code, s64 timestamp);
void __iio_dev_mode_lock(struct iio_dev *indio_dev) __acquires(indio_dev);
void __iio_dev_mode_unlock(struct iio_dev *indio_dev) __releases(indio_dev);
-/*
- * Helper functions that allow claim and release of direct mode
- * in a fashion that doesn't generate many false positives from sparse.
- * Note this must remain static inline in the header so that sparse
- * can see the __acquires() and __releases() annotations.
- */
-
/**
* iio_device_claim_direct() - Keep device in direct mode
* @indio_dev: the iio_dev associated with the device
@@ -726,6 +719,7 @@ void __iio_dev_mode_unlock(struct iio_dev *indio_dev) __releases(indio_dev);
* Returns: true on success, false on failure.
*/
static inline bool iio_device_claim_direct(struct iio_dev *indio_dev)
+ __cond_acquires(true, indio_dev)
{
__iio_dev_mode_lock(indio_dev);
@@ -760,6 +754,7 @@ static inline bool iio_device_claim_direct(struct iio_dev *indio_dev)
* Returns: true on success, false on failure.
*/
static inline bool iio_device_try_claim_buffer_mode(struct iio_dev *indio_dev)
+ __cond_acquires(true, indio_dev)
{
__iio_dev_mode_lock(indio_dev);
--
2.43.0
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
WARNING: multiple messages have this Message-ID (diff)
From: Rupesh Majhi <zoone.rupert@gmail.com>
To: "Alex Lanzano" <lanzano.alex@gmail.com>,
"Andy Shevchenko" <andy@kernel.org>,
"Benson Leung" <bleung@chromium.org>,
"David Lechner" <dlechner@baylibre.com>,
"Guenter Roeck" <groeck@chromium.org>,
"Jagath Jog J" <jagathjog1996@gmail.com>,
"Javier Carrasco" <javier.carrasco.cruz@gmail.com>,
"Jean-Baptiste Maneyrol" <jean-baptiste.maneyrol@tdk.com>,
"Jerome Brunet" <jbrunet@baylibre.com>,
"Jinseob Kim" <kimjinseob88@gmail.com>,
"Jonathan Cameron" <jic23@kernel.org>,
"Kevin Hilman" <khilman@baylibre.com>,
"Lorenzo Bianconi" <lorenzo@kernel.org>,
"Martin Blumenstingl" <martin.blumenstingl@googlemail.com>,
"Matti Vaittinen" <mazziesaccount@gmail.com>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Nuno Sá" <nuno.sa@analog.com>,
"Remi Buisson" <remi.buisson@tdk.com>
Cc: chrome-platform@lists.linux.dev,
linux-amlogic@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
linux-arm-msm@vger.kernel.org, linux-iio@vger.kernel.org,
linux-kernel@vger.kernel.org,
Rupesh Majhi <zoone.rupert@gmail.com>,
Marco Elver <elver@google.com>,
Bart Van Assche <bvanassche@acm.org>
Subject: [PATCH v4 2/9] iio: core: annotate the conditional mode claims
Date: Tue, 27 Oct 2026 14:49:47 +0200 [thread overview]
Message-ID: <20261027124954.110697-3-zoone.rupert@gmail.com> (raw)
In-Reply-To: <20261027124954.110697-1-zoone.rupert@gmail.com>
iio_device_claim_direct() and iio_device_try_claim_buffer_mode() hold
the mode lock only when they return true, but carry no annotation. With
context analysis on, each caller that releases the claim is reported
for releasing a lock it never took.
Mark both __cond_acquires(true, indio_dev), the token that
__iio_dev_mode_lock() acquires. Sparse no longer reads these
annotations, so drop the comment about it.
Signed-off-by: Rupesh Majhi <zoone.rupert@gmail.com>
---
Cc: Marco Elver <elver@google.com>
Cc: Bart Van Assche <bvanassche@acm.org>
include/linux/iio/iio.h | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h
index 9b63785d5aec..ca91f5a64626 100644
--- a/include/linux/iio/iio.h
+++ b/include/linux/iio/iio.h
@@ -707,13 +707,6 @@ int iio_push_event(struct iio_dev *indio_dev, u64 ev_code, s64 timestamp);
void __iio_dev_mode_lock(struct iio_dev *indio_dev) __acquires(indio_dev);
void __iio_dev_mode_unlock(struct iio_dev *indio_dev) __releases(indio_dev);
-/*
- * Helper functions that allow claim and release of direct mode
- * in a fashion that doesn't generate many false positives from sparse.
- * Note this must remain static inline in the header so that sparse
- * can see the __acquires() and __releases() annotations.
- */
-
/**
* iio_device_claim_direct() - Keep device in direct mode
* @indio_dev: the iio_dev associated with the device
@@ -726,6 +719,7 @@ void __iio_dev_mode_unlock(struct iio_dev *indio_dev) __releases(indio_dev);
* Returns: true on success, false on failure.
*/
static inline bool iio_device_claim_direct(struct iio_dev *indio_dev)
+ __cond_acquires(true, indio_dev)
{
__iio_dev_mode_lock(indio_dev);
@@ -760,6 +754,7 @@ static inline bool iio_device_claim_direct(struct iio_dev *indio_dev)
* Returns: true on success, false on failure.
*/
static inline bool iio_device_try_claim_buffer_mode(struct iio_dev *indio_dev)
+ __cond_acquires(true, indio_dev)
{
__iio_dev_mode_lock(indio_dev);
--
2.43.0
next prev parent reply other threads:[~2026-10-27 12:50 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-27 12:49 [PATCH v4 0/9] iio: enable context analysis for all drivers Rupesh Majhi
2026-10-27 12:49 ` Rupesh Majhi
2026-10-27 12:49 ` [PATCH v4 1/9] iio: adc: qcom-spmi-adc5-gen3: fix lock annotations on mutex helpers Rupesh Majhi
2026-10-27 12:49 ` Rupesh Majhi
2026-10-27 12:49 ` Rupesh Majhi [this message]
2026-10-27 12:49 ` [PATCH v4 2/9] iio: core: annotate the conditional mode claims Rupesh Majhi
2026-10-28 3:18 ` Jonathan Cameron
2026-10-28 3:18 ` Jonathan Cameron
2026-10-28 3:25 ` Jonathan Cameron
2026-10-28 3:25 ` Jonathan Cameron
2026-10-27 12:49 ` [PATCH v4 3/9] iio: core: mark the mode lock helpers __context_unsafe Rupesh Majhi
2026-10-27 12:49 ` Rupesh Majhi
2026-10-27 12:49 ` [PATCH v4 4/9] iio: accel: kionix-kx022a: annotate the lock helpers Rupesh Majhi
2026-10-27 12:49 ` Rupesh Majhi
2026-10-28 6:16 ` Matti Vaittinen
2026-10-28 6:16 ` Matti Vaittinen
2026-10-27 12:49 ` [PATCH v4 5/9] iio: adc: meson_saradc: " Rupesh Majhi
2026-10-27 12:49 ` Rupesh Majhi
2026-10-27 13:08 ` sashiko-bot
2026-10-27 12:49 ` [PATCH v4 6/9] iio: buffer-dma: annotate the queue " Rupesh Majhi
2026-10-27 12:49 ` Rupesh Majhi
2026-10-27 12:49 ` [PATCH v4 7/9] iio: light: opt3001: mark the interrupt handler __context_unsafe Rupesh Majhi
2026-10-27 12:49 ` Rupesh Majhi
2026-10-27 12:49 ` [PATCH v4 8/9] iio: light: veml6031x00: annotate the event enable helpers Rupesh Majhi
2026-10-27 12:49 ` Rupesh Majhi
2026-10-27 16:52 ` Javier Carrasco
2026-10-27 16:52 ` Javier Carrasco
2026-10-27 12:49 ` [PATCH v4 9/9] iio: enable context analysis for all drivers Rupesh Majhi
2026-10-27 12:49 ` Rupesh Majhi
2026-10-27 15:09 ` Kim Jinseob
2026-10-27 15:09 ` Kim Jinseob
2026-10-27 16:14 ` Andy Shevchenko
2026-10-27 16:14 ` Andy Shevchenko
2026-10-27 17:21 ` Marco Elver
2026-10-27 17:21 ` Marco Elver
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261027124954.110697-3-zoone.rupert@gmail.com \
--to=zoone.rupert@gmail.com \
--cc=andy@kernel.org \
--cc=bleung@chromium.org \
--cc=bvanassche@acm.org \
--cc=chrome-platform@lists.linux.dev \
--cc=dlechner@baylibre.com \
--cc=elver@google.com \
--cc=groeck@chromium.org \
--cc=jagathjog1996@gmail.com \
--cc=javier.carrasco.cruz@gmail.com \
--cc=jbrunet@baylibre.com \
--cc=jean-baptiste.maneyrol@tdk.com \
--cc=jic23@kernel.org \
--cc=khilman@baylibre.com \
--cc=kimjinseob88@gmail.com \
--cc=lanzano.alex@gmail.com \
--cc=linux-amlogic@lists.infradead.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lorenzo@kernel.org \
--cc=martin.blumenstingl@googlemail.com \
--cc=mazziesaccount@gmail.com \
--cc=neil.armstrong@linaro.org \
--cc=nuno.sa@analog.com \
--cc=remi.buisson@tdk.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.