mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Marcelo Schmitt <marcelo.schmitt@analog.com>
To: <linux-iio@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <linux@analog.com>
Cc: <jic23@kernel.org>, <nuno.sa@analog.com>, <dlechner@baylibre.com>,
	<andy@kernel.org>, <Michael.Hennerich@analog.com>,
	<robh@kernel.org>, <krzk+dt@kernel.org>, <conor+dt@kernel.org>,
	<corbet@lwn.net>, <skhan@linuxfoundation.org>,
	<marcelo.schmitt1@gmail.com>
Subject: [PATCH v6 06/16] iio: adc: ad4134: Protect conventional device access from debug accesses
Date: Fri, 23 Oct 2026 19:34:50 -0300	[thread overview]
Message-ID: <0789a1dae09581f06bd88757ddbda3531e165efb.1792792325.git.marcelo.schmitt@analog.com> (raw)
In-Reply-To: <cover.1792792325.git.marcelo.schmitt@analog.com>

AD4134 sample read operations may more than one transfer to complete and
are expected to run atomically to avoid triggering any DCLK count error.
Though, register access made from debugfs interface may scramble data if
they are run amidst sample read operations and read/write/modify cycles.

Require debug access to acquire device synchronization locks before
running any transfer requested from debugfs interface.

Signed-off-by: Marcelo Schmitt <marcelo.schmitt@analog.com>
---
Change log v5 -> v6:
- Better explanation for requiring debugfs synchronization.

 drivers/iio/adc/ad4134.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/iio/adc/ad4134.c b/drivers/iio/adc/ad4134.c
index 1cfa8066f13f..71f626bbe9be 100644
--- a/drivers/iio/adc/ad4134.c
+++ b/drivers/iio/adc/ad4134.c
@@ -302,6 +302,12 @@ static int ad4134_debugfs_reg_access(struct iio_dev *indio_dev,
 {
 	struct ad4134_state *st = iio_priv(indio_dev);
 
+	IIO_DEV_ACQUIRE_DIRECT_MODE(indio_dev, claim);
+	if (IIO_DEV_ACQUIRE_FAILED(claim))
+		return -EBUSY;
+
+	guard(mutex)(&st->sync_lock);
+
 	if (readval)
 		return regmap_read(st->regmap, reg, readval);
 
-- 
2.53.0


  parent reply	other threads:[~2026-10-23 22:35 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-23 22:32 [PATCH v6 00/16] iio: adc: ad4134: Enable greater sample rate data capture Marcelo Schmitt
2026-10-23 22:33 ` [PATCH v6 01/16] iio: adc: ad4134: Adjust register map range Marcelo Schmitt
2026-10-23 22:33 ` [PATCH v6 02/16] iio: adc: ad4134: Sign extend sample data Marcelo Schmitt
2026-10-23 22:33 ` [PATCH v6 03/16] iio: adc: ad4134: Apply reset recovery wait time Marcelo Schmitt
2026-10-23 22:34 ` [PATCH v6 04/16] iio: adc: ad4134: Update include list to comply with IWYU principles Marcelo Schmitt
2026-10-23 22:34 ` [PATCH v6 05/16] iio: adc: ad4134: Serialize single-read operations Marcelo Schmitt
2026-10-23 22:34 ` Marcelo Schmitt [this message]
2026-10-24  1:46   ` [PATCH v6 06/16] iio: adc: ad4134: Protect conventional device access from debug accesses Jonathan Cameron
2026-10-23 22:35 ` [PATCH v6 07/16] iio: adc: ad4134: Run shorter transfers when CRC is disabled Marcelo Schmitt
2026-10-23 22:35 ` [PATCH v6 08/16] iio: ABI: Add sinc6 filter_type Marcelo Schmitt
2026-10-23 22:35 ` [PATCH v6 09/16] iio: adc: ad4134: Add support for digital filter type selection Marcelo Schmitt
2026-10-23 22:36 ` [PATCH v6 10/16] iio: adc: ad4134: Support buffered data read Marcelo Schmitt
2026-10-23 22:36 ` [PATCH v6 11/16] dt-bindings: iio: adc: adi,ad4134: Document SPI connection mode Marcelo Schmitt
2026-10-23 22:36 ` [PATCH v6 12/16] dt-bindings: iio: adc: adi,ad4134: Document external multiplexer usage Marcelo Schmitt
2026-10-23 22:36 ` [PATCH v6 13/16] iio: adc: ad4134: Support SPI 4-wire mode Marcelo Schmitt
2026-10-23 22:37 ` [PATCH v6 14/16] dt-bindings: iio: adc: adi,ad4134: Document PWM usage Marcelo Schmitt
2026-10-23 22:37 ` [PATCH v6 15/16] iio: adc: ad4134: Support high-speed data capture Marcelo Schmitt
2026-10-23 22:37 ` [PATCH v6 16/16] Docs: iio: Add AD4134 Marcelo Schmitt
2026-10-24  1:54 ` [PATCH v6 00/16] iio: adc: ad4134: Enable greater sample rate data capture Jonathan Cameron

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=0789a1dae09581f06bd88757ddbda3531e165efb.1792792325.git.marcelo.schmitt@analog.com \
    --to=marcelo.schmitt@analog.com \
    --cc=Michael.Hennerich@analog.com \
    --cc=andy@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=corbet@lwn.net \
    --cc=devicetree@vger.kernel.org \
    --cc=dlechner@baylibre.com \
    --cc=jic23@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@analog.com \
    --cc=marcelo.schmitt1@gmail.com \
    --cc=nuno.sa@analog.com \
    --cc=robh@kernel.org \
    --cc=skhan@linuxfoundation.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®