iio: si1133: read 24-bit signed integer for measurement
authorMaxime Roussin-Bélanger <maxime.roussinbelanger@gmail.com>
Wed, 19 Feb 2020 17:40:08 +0000 (12:40 -0500)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 8 Mar 2020 17:28:42 +0000 (17:28 +0000)
commit328b50e9a0ad1fe8accdf8c19923deebab5e0c01
treea58ff8d7e0daa749f38bc74f2b5366bb41b05f21
parentea52c21268e68cfdc1aabe686b154d73d8bf4d7e
iio: si1133: read 24-bit signed integer for measurement

The chip is configured in 24 bit mode. The values read from
it must always be treated as is. This fixes the issue by
replacing the previous 16 bits value by a 24 bits buffer.

This changes affects the value output by previous version of
the driver, since the least significant byte was missing.
The upper half of 16 bit values previously output are now
the upper half of a 24 bit value.

Fixes: e01e7eaf37d8 ("iio: light: introduce si1133")

Reported-by: Simon Goyette <simon.goyette@gmail.com>
Co-authored-by: Guillaume Champagne <champagne.guillaume.c@gmail.com>
Signed-off-by: Maxime Roussin-Bélanger <maxime.roussinbelanger@gmail.com>
Signed-off-by: Guillaume Champagne <champagne.guillaume.c@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/light/si1133.c