iio: dac: ad5593r: Fix i2c read protocol requirements
authorMichael Hennerich <michael.hennerich@analog.com>
Tue, 13 Sep 2022 07:34:12 +0000 (09:34 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Wed, 21 Sep 2022 17:42:53 +0000 (18:42 +0100)
commit558a25f903b4af6361b7fbeea08a6446a0745653
tree8ab524558c08a3604ba5e9d511f0f5f4660c6435
parentd9d0c0725ae2798bd51f38ae26c2477f6eed40b3
iio: dac: ad5593r: Fix i2c read protocol requirements

For reliable operation across the full range of supported
interface rates, the AD5593R needs a STOP condition between
address write, and data read (like show in the datasheet Figure 40)
so in turn i2c_smbus_read_word_swapped cannot be used.

While at it, a simple helper was added to make the code simpler.

Fixes: 56ca9db862bf ("iio: dac: Add support for the AD5592R/AD5593R ADCs/DACs")
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Nuno Sá <nuno.sa@analog.com>
Cc: <Stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20220913073413.140475-2-nuno.sa@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/dac/ad5593r.c