summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Lechner <dlechner@baylibre.com>2023-10-06 03:50:18 +0300
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2023-10-11 17:54:40 +0300
commitd97d11c70f25726fc21b2b2f1a26e16ac96a8ccf (patch)
treee116e896e00d77ef28aceb56ad54f6588a17a3f3
parent6eb14ffa1873d756b9141837720ff70f07d849f1 (diff)
downloadlinux-d97d11c70f25726fc21b2b2f1a26e16ac96a8ccf.tar.xz
staging: iio: resolver: ad2s1210: do not use fault register for dummy read
When reading registers on the AD2S1210 chip, we have to supply a "dummy" address for the second SPI tx byte so that we don't accidentally write to a register. This register will be read and the value discarded on the next regmap read or write call. Reading the fault register has a side-effect of clearing the faults so we should not use this register for the dummy read. Signed-off-by: David Lechner <dlechner@baylibre.com> Link: https://lore.kernel.org/r/20231005-ad2s1210-mainline-v4-1-ec00746840fc@baylibre.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
-rw-r--r--drivers/staging/iio/resolver/ad2s1210.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/staging/iio/resolver/ad2s1210.c b/drivers/staging/iio/resolver/ad2s1210.c
index 67d8af0dd7ae..8fbde9517fe9 100644
--- a/drivers/staging/iio/resolver/ad2s1210.c
+++ b/drivers/staging/iio/resolver/ad2s1210.c
@@ -166,9 +166,10 @@ static int ad2s1210_regmap_reg_read(void *context, unsigned int reg,
st->tx[0] = reg;
/*
* Must be valid register address here otherwise this could write data.
- * It doesn't matter which one.
+ * It doesn't matter which one as long as reading doesn't have side-
+ * effects.
*/
- st->tx[1] = AD2S1210_REG_FAULT;
+ st->tx[1] = AD2S1210_REG_CONTROL;
ret = spi_sync_transfer(st->sdev, xfers, ARRAY_SIZE(xfers));
if (ret < 0)