* [PATCH] staging: iio: addac: adt7316: check SPI write errors in probe
@ 2026-05-09 8:26 Hungyu Lin
2026-05-09 8:42 ` Nuno Sá
0 siblings, 1 reply; 2+ messages in thread
From: Hungyu Lin @ 2026-05-09 8:26 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.
Add error checking and emit a warning if any of these writes fail,
to improve error visibility without changing existing behavior.
Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>
---
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..25b7772bd05f 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)
+ dev_warn(&spi_dev->dev, "SPI init write %d failed: %d\n", i, ret);
+ }
return adt7316_probe(&spi_dev->dev, &bus, spi_dev->modalias);
}
--
2.34.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] staging: iio: addac: adt7316: check SPI write errors in probe
2026-05-09 8:26 [PATCH] staging: iio: addac: adt7316: check SPI write errors in probe Hungyu Lin
@ 2026-05-09 8:42 ` Nuno Sá
0 siblings, 0 replies; 2+ messages in thread
From: Nuno Sá @ 2026-05-09 8:42 UTC (permalink / raw)
To: Hungyu Lin, linux-iio, Jonathan Cameron
Cc: Lars-Peter Clausen, Michael Hennerich, David Lechner,
Nuno Sá, Andy Shevchenko, Greg Kroah-Hartman, linux-kernel,
linux-staging
On Sat, 2026-05-09 at 08:26 +0000, Hungyu Lin wrote:
> The probe function issues three SPI writes to switch the device
> from the default I2C protocol to SPI protocol, but ignores their
> return values.
>
> Add error checking and emit a warning if any of these writes fail,
> to improve error visibility without changing existing behavior.
>
> Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>
> ---
Hi Hungyu,
Small comment from me. With that addressed:
Reviewed-by: Nuno Sá <nuno.sa@analog.com>
> 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..25b7772bd05f 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)
> + dev_warn(&spi_dev->dev, "SPI init write %d failed: %d\n",
> i, ret);
> + }
Hmm this is a bit useless no :)? Agree we should check for error codes but we should
bail in case of errors. You can also mention the loop() introduction.
- Nuno Sá
>
> return adt7316_probe(&spi_dev->dev, &bus, spi_dev->modalias);
> }
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-05-09 8:41 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-09 8:26 [PATCH] staging: iio: addac: adt7316: check SPI write errors in probe Hungyu Lin
2026-05-09 8:42 ` Nuno Sá
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox