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:33:12 +0000 (16:33 +0200)
commitf83a969fcb0b5d4cfb7c22ac5d4a04b8ceb514f4
treef6ecb731697a55ba9e565e31e5e00030289cb772
parentdb168069b0d661f005e053fad94af1d5eac1dead
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