diff options
author | 2023-10-05 19:50:18 -0500 | |
---|---|---|
committer | 2023-10-11 15:54:40 +0100 | |
commit | d97d11c70f25726fc21b2b2f1a26e16ac96a8ccf (patch) | |
tree | e116e896e00d77ef28aceb56ad54f6588a17a3f3 /drivers/staging/iio | |
parent | iio: adc: mt6577_auxadc: Fix kernel panic on suspend (diff) | |
download | linux-d97d11c70f25726fc21b2b2f1a26e16ac96a8ccf.tar.gz linux-d97d11c70f25726fc21b2b2f1a26e16ac96a8ccf.tar.bz2 linux-d97d11c70f25726fc21b2b2f1a26e16ac96a8ccf.zip |
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>
Diffstat (limited to 'drivers/staging/iio')
-rw-r--r-- | drivers/staging/iio/resolver/ad2s1210.c | 5 |
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) |