From: Carlos Song <carlos.song@xxxxxxx> I'm grateful to receive and accept suggestions for these patches from Jonathan. I am so sorry for sending patches with much confusion before. In PATCH v2, I have reworked our patches to give a minimal fix and split the large patches into more smaller patches, especially rewritten the commit logs and comments. I hope these can explain more clearly the patch of the role of FXOS8700 driver. We have found some bugs exist in fxos8700 IMU sensor as follows, some patches were proposed correspondingly: - Confused IIO_ANGL_VEL channel type mapped to MAGN sensor PATCH: iio: imu: fxos8700: fix map lable of channel type to MAGN sensor - Incorrect ACCEL and MAGN channels readback PATCH: iio: imu: fxos8700: fix swapped ACCEL and MAGN channels readback iio: imu: fxos8700: fix incompete ACCEL and MAGN channels readback iio: imu: fxos8700: fix IMU data bits returned to user space - Fail to select an ACCEL measuremen range(2g/4g/8g) PATCH: iio: imu: fxos8700: fix ACCEL measurement range selection - Fail to get and config ODR mode PATCH: iio: imu: fxos8700: fix ODR register readback and initialization - Incorrect MAGN scale readback PATCH: iio: imu: fxos8700: fix MAGN sensor scale and unit --- Changes for V2: - Divide [PATCHv1 1/4] into three patches to fix ACCEL and MAGN channels readback. We rework our patches to fix the bug in a more concise way. In this way, we give a minimal and base fix compared with PATCHv1 and remain the logic of the original code as much as possible. - For [PATCHv1 2/4], we rework commit log and comments to explain why it is necessary to set device in standby mode when select an ACCEL measure range(2g/4g/8g). - For [PATCHv1 3/4], according to the suggestion of Jonathan, with unified use of regmap_write(), FIELD_GET()/FIELD_PREP() when read and write correct ODR register bits. This will greatly improve the readability of the code. - Divide [PATCHv1 4/4] into two patches: one patch separately fixes confused IIO_ANGL_VEL channel type mapped to MAGN sensor, the other one fixes MAGN sensor scale and unit. Carlos Song (7): iio: imu: fxos8700: fix map lable of channel type to MAGN sensor iio: imu: fxos8700: fix swapped ACCEL and MAGN channels readback iio: imu: fxos8700: fix incompete ACCEL and MAGN channels readback iio: imu: fxos8700: fix IMU data bits returned to user space iio: imu: fxos8700: fix ACCEL measurement range selection iio: imu: fxos8700: fix ODR register readback and initialization iio: imu: fxos8700: fix MAGN sensor scale and unit drivers/iio/imu/fxos8700_core.c | 113 ++++++++++++++++++++++++++------ 1 file changed, 92 insertions(+), 21 deletions(-) -- 2.34.1