Linux IIO development
 help / color / mirror / Atom feed
* [PATCH v2] staging: iio: addac: adt7316: check SPI write errors in probe
@ 2026-05-09  9:03 Hungyu Lin
  2026-05-09 20:25 ` Maxwell Doose
  2026-05-10  6:23 ` Andy Shevchenko
  0 siblings, 2 replies; 6+ messages in thread
From: Hungyu Lin @ 2026-05-09  9:03 UTC (permalink / raw)
  To: linux-iio, Jonathan Cameron
  Cc: Lars-Peter Clausen, Michael Hennerich, David Lechner,
	Nuno Sá, Andy Shevchenko, Greg Kroah-Hartman, linux-kernel,
	linux-staging, Hungyu Lin

The probe function issues three SPI writes to switch the device
from the default I2C protocol to SPI protocol, but ignores their
return values.

Switch the repeated SPI writes to a loop and return an error
if any of them fail, as failing to switch the protocol should
abort the probe.

Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>
---
Changes in v2:
- Return error instead of just warning
- Clarify that repeated SPI writes are converted to a loop
---
 drivers/staging/iio/addac/adt7316-spi.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/iio/addac/adt7316-spi.c b/drivers/staging/iio/addac/adt7316-spi.c
index f91325d11394..056a4505bf30 100644
--- a/drivers/staging/iio/addac/adt7316-spi.c
+++ b/drivers/staging/iio/addac/adt7316-spi.c
@@ -98,6 +98,7 @@ static int adt7316_spi_probe(struct spi_device *spi_dev)
 		.multi_read = adt7316_spi_multi_read,
 		.multi_write = adt7316_spi_multi_write,
 	};
+	int i, ret;
 
 	/* don't exceed max specified SPI CLK frequency */
 	if (spi_dev->max_speed_hz > ADT7316_SPI_MAX_FREQ_HZ) {
@@ -107,9 +108,11 @@ static int adt7316_spi_probe(struct spi_device *spi_dev)
 	}
 
 	/* switch from default I2C protocol to SPI protocol */
-	adt7316_spi_write(spi_dev, 0, 0);
-	adt7316_spi_write(spi_dev, 0, 0);
-	adt7316_spi_write(spi_dev, 0, 0);
+	for (i = 0; i < 3; i++) {
+		ret = adt7316_spi_write(spi_dev, 0, 0);
+		if (ret)
+			return ret;
+	}
 
 	return adt7316_probe(&spi_dev->dev, &bus, spi_dev->modalias);
 }
-- 
2.34.1


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

end of thread, other threads:[~2026-05-10  6:36 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-09  9:03 [PATCH v2] staging: iio: addac: adt7316: check SPI write errors in probe Hungyu Lin
2026-05-09 20:25 ` Maxwell Doose
2026-05-10  2:00   ` Denny Lin
2026-05-10  2:12     ` Maxwell Doose
2026-05-10  6:23 ` Andy Shevchenko
2026-05-10  6:35   ` Maxwell Doose

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