linux/drivers/iio/common
Lorenzo Bianconi 65c8aea07d iio: common: st_sensors: fix channel data parsing
Using realbits as i2c/spi read len, when that value is not byte aligned
(e.g 12 bits), lead to skip msb part of out data registers.
Fix this taking into account scan_type.shift in addition to
scan_type.realbits as read length:

read_len = DIV_ROUND_UP(realbits + shift, 8)

This fix has been tested on 8, 12, 16, 24 bit sensors

Fixes: e7385de529 ("iio:st_sensors: align on storagebits boundaries")
Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@st.com>
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-12-31 14:32:09 +00:00
..
cros_ec_sensors iio: cros_ec_sensors_core: fix unsigned compared less than zero on status 2016-11-12 14:38:38 +00:00
hid-sensors Merge 4.9-rc5 into staging-next 2016-11-14 08:53:56 +01:00
ms_sensors iio: common: ms_sensors: use tab for indention 2016-04-16 13:39:25 +01:00
ssp_sensors spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
st_sensors iio: common: st_sensors: fix channel data parsing 2016-12-31 14:32:09 +00:00
Kconfig iio: cros_ec_sensors_core: Add common functions for the ChromeOS EC Sensor Hub. 2016-10-25 18:20:05 +01:00
Makefile iio: cros_ec_sensors_core: Add common functions for the ChromeOS EC Sensor Hub. 2016-10-25 18:20:05 +01:00