iio: imu: fxos8700: fix IMU data bits returned to user space
authorCarlos Song <carlos.song@nxp.com>
Thu, 8 Dec 2022 07:19:08 +0000 (15:19 +0800)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Wed, 28 Dec 2022 17:20:04 +0000 (17:20 +0000)
commita53f945879c0cb9de3a4c05a665f5157884b5208
tree88c57089bbc8f5c4a26f2f57b5dc4f3a394eafab
parent37a94d86d7050665d6d01378b2c916c28e454f10
iio: imu: fxos8700: fix IMU data bits returned to user space

ACCEL output data registers contain the X-axis, Y-axis, and Z-axis
14-bit left-justified sample data and MAGN output data registers
contain the X-axis, Y-axis, and Z-axis 16-bit sample data. The ACCEL
raw register output data should be divided by 4 before sent to
userspace.

Apply a 2 bits signed right shift to the raw data from ACCEL output
data register but keep that from MAGN sensor as the origin.

Fixes: 84e5ddd5c46e ("iio: imu: Add support for the FXOS8700 IMU")
Signed-off-by: Carlos Song <carlos.song@nxp.com>
Link: https://lore.kernel.org/r/20221208071911.2405922-5-carlos.song@nxp.com
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/imu/fxos8700_core.c