The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [PATCH v4] staging: iio: addac: adt7316: document SPI interface switching sequence
@ 2026-05-11 14:06 Hungyu Lin
  2026-05-12 16:07 ` Jonathan Cameron
  0 siblings, 1 reply; 2+ messages in thread
From: Hungyu Lin @ 2026-05-11 14:06 UTC (permalink / raw)
  To: jic23, lars, Michael.Hennerich, gregkh
  Cc: dlechner, nuno.sa, andy, m32285159, linux-iio, linux-staging,
	linux-kernel, Hungyu Lin, Andy Shevchenko

The device powers up in I2C mode. Switching to SPI mode
requires sending a sequence of SPI writes as described in
the datasheet.

During this sequence, the device may still be in I2C mode,
so SPI transactions may not be recognized and can fail.
Such errors are therefore ignored.

Add a comment to clarify this behavior.

Datasheet: https://www.analog.com/en/products/adt7316.html
Reviewed-by: Maxwell Doose <m32285159@gmail.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>
---
Changes in v4:
- Restore section title in datasheet reference
- Adjust wording per Jonathan's suggestion
- Add Reviewed-by tags

Changes in v3:
- Add Datasheet tag
- Use datasheet name in code comment

Changes in v2:
- Add datasheet reference
- Add TL;DR note

 drivers/staging/iio/addac/adt7316-spi.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/iio/addac/adt7316-spi.c b/drivers/staging/iio/addac/adt7316-spi.c
index f91325d11394..1debcc36c1af 100644
--- a/drivers/staging/iio/addac/adt7316-spi.c
+++ b/drivers/staging/iio/addac/adt7316-spi.c
@@ -106,7 +106,18 @@ static int adt7316_spi_probe(struct spi_device *spi_dev)
 		return -EINVAL;
 	}
 
-	/* switch from default I2C protocol to SPI protocol */
+	/*
+	 * The device powers up in I2C mode. Switching to SPI mode
+	 * requires sending a sequence of SPI writes as described in
+	 * the datasheet "ADT7316/ADT7317/ADT7318", Rev. B,
+	 * in the "Serial Interface Selection" section.
+	 *
+	 * During this sequence, the device may still be in I2C mode,
+	 * so SPI transactions may not be recognized and can fail.
+	 * Such errors are therefore ignored.
+	 *
+	 * TL;DR: Do not change this!
+	 */
 	adt7316_spi_write(spi_dev, 0, 0);
 	adt7316_spi_write(spi_dev, 0, 0);
 	adt7316_spi_write(spi_dev, 0, 0);
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v4] staging: iio: addac: adt7316: document SPI interface switching sequence
  2026-05-11 14:06 [PATCH v4] staging: iio: addac: adt7316: document SPI interface switching sequence Hungyu Lin
@ 2026-05-12 16:07 ` Jonathan Cameron
  0 siblings, 0 replies; 2+ messages in thread
From: Jonathan Cameron @ 2026-05-12 16:07 UTC (permalink / raw)
  To: Hungyu Lin
  Cc: lars, Michael.Hennerich, gregkh, dlechner, nuno.sa, andy,
	m32285159, linux-iio, linux-staging, linux-kernel,
	Andy Shevchenko

On Mon, 11 May 2026 14:06:41 +0000
Hungyu Lin <dennylin0707@gmail.com> wrote:

> The device powers up in I2C mode. Switching to SPI mode
> requires sending a sequence of SPI writes as described in
> the datasheet.
> 
> During this sequence, the device may still be in I2C mode,
> so SPI transactions may not be recognized and can fail.
> Such errors are therefore ignored.
> 
> Add a comment to clarify this behavior.
> 
> Datasheet: https://www.analog.com/en/products/adt7316.html
> Reviewed-by: Maxwell Doose <m32285159@gmail.com>
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
> Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>

Applied!

Thanks

Jonathan

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-05-12 16:07 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-11 14:06 [PATCH v4] staging: iio: addac: adt7316: document SPI interface switching sequence Hungyu Lin
2026-05-12 16:07 ` Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox