iio: adc: ti-ads8344: properly byte swap value
authorAlexandre Belloni <alexandre.belloni@bootlin.com>
Thu, 16 Apr 2020 20:54:27 +0000 (22:54 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 29 Apr 2020 14:34:43 +0000 (16:34 +0200)
commit25c84be39517f516d77a7bdd4d47b235fe84a0f5
treef047fe2bb2bee6da6ea45b2d1e6ff2d6f182e4ea
parentf0bb381b0ef2b8c53f394016d35292771ddec741
iio: adc: ti-ads8344: properly byte swap value

commit dd7de4c0023e7564cabe39d64b2822a522890792 upstream.

The first received byte is the MSB, followed by the LSB so the value needs
to be byte swapped.

Also, the ADC actually has a delay of one clock on the SPI bus. Read three
bytes to get the last bit.

Fixes: 8dd2d7c0fed7 ("iio: adc: Add driver for the TI ADS8344 A/DC chips")
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/iio/adc/ti-ads8344.c