linux/drivers/iio/accel
Linus Walleij 84e2f6f958 iio: accel: kxsd9: Fix up offset and scaling
This fixes several errors in the offset and scaling of the raw
values from the KXSD9 sensor:

- The code did not convert the big endian value from the sensor
  into the endianness of the host CPU. Fix this with
  be16_to_cpu() on the raw obtained value.

- The code did not regard the fact that only the upper 12 bits of
  the accelerometer values are valid. Shift these
  down four bits to yield the real raw value.

- Further the sensor provides 2048 at zero g. This means that an
  offset of 2048 must be subtracted from the raw value before
  scaling. This was not taken into account by the driver,
  yielding a weird value. Fix this by providing this offset in
  sysfs.

To house the scaling code better, the value reading code was
factored into the raw reading function.

This proper scaling and offseting is necessary to get proper
values out of triggered buffer by offsetting, shifting and scaling
them.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Tested-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-09-18 11:31:31 +01:00
..
bma180.c iio: accel: bma180: use iio helper function to guarantee direct mode 2016-08-15 17:12:43 +01:00
bma220_spi.c iio: accel: bma220_spi: set up buffer timestamps for non-zero values 2016-08-15 15:39:18 +01:00
bmc150-accel-core.c iio: accel: bmc150: reset chip at init time 2016-09-03 17:26:14 +01:00
bmc150-accel-i2c.c iio: accel: bmc150: use common definition for regmap conf 2016-04-03 11:24:52 +01:00
bmc150-accel-spi.c iio: accel: bmc150: use common definition for regmap conf 2016-04-03 11:24:52 +01:00
bmc150-accel.h iio: accel: bmc150: use common definition for regmap conf 2016-04-03 11:24:52 +01:00
dmard06.c iio: accel: Add support for Domintech DMARD06 accelerometer 2016-08-21 10:52:02 +01:00
dmard09.c iio: accel: add support for the Domintech DMARD09 3-axis accelerometer 2016-08-21 10:52:08 +01:00
hid-sensor-accel-3d.c
Kconfig iio: accel: kxsd9: Add I2C transport 2016-09-18 11:29:12 +01:00
kxcjk-1013.c iio: accel: kxcjk-1013: add the "KIOX000A" ACPI id 2016-07-24 19:58:40 +01:00
kxsd9-i2c.c iio: accel: kxsd9: Add I2C transport 2016-09-18 11:29:12 +01:00
kxsd9-spi.c iio: accel: kxsd9: Convert to use regmap for transport 2016-09-18 11:28:21 +01:00
kxsd9.c iio: accel: kxsd9: Fix up offset and scaling 2016-09-18 11:31:31 +01:00
kxsd9.h iio: accel: kxsd9: Convert to use regmap for transport 2016-09-18 11:28:21 +01:00
Makefile iio: accel: kxsd9: Add I2C transport 2016-09-18 11:29:12 +01:00
mma7455_core.c iio:core: timestamping clock selection support 2016-06-30 19:41:38 +01:00
mma7455_i2c.c iio: accel: add Freescale MMA7455L/MMA7456L 3-axis accelerometer driver 2015-11-01 18:00:35 +00:00
mma7455_spi.c iio: accel: add Freescale MMA7455L/MMA7456L 3-axis accelerometer driver 2015-11-01 18:00:35 +00:00
mma7455.h iio: accel: add Freescale MMA7455L/MMA7456L 3-axis accelerometer driver 2015-11-01 18:00:35 +00:00
mma7660.c iio: accel: Add support for Freescale MMA7660FC 2016-05-04 10:44:17 +01:00
mma8452.c drivers:iio:accel:mma8452: removed unwanted return statements 2016-07-05 21:05:01 +01:00
mma9551_core.c
mma9551_core.h
mma9551.c iio:core: timestamping clock selection support 2016-06-30 19:41:38 +01:00
mma9553.c iio:core: timestamping clock selection support 2016-06-30 19:41:38 +01:00
mxc4005.c iio: remove gpio interrupt probing from drivers that use a single interrupt 2016-04-03 10:27:48 +01:00
mxc6255.c iio: accel: mxc6255: Fix chip-id check 2016-09-12 20:19:16 +01:00
ssp_accel_sensor.c
st_accel_buffer.c iio: st_sensors: switch to a threaded interrupt 2016-05-29 20:21:41 +01:00
st_accel_core.c iio: accel: st_accel: Add lis3l02dq support 2016-07-04 18:07:44 +01:00
st_accel_i2c.c iio: accel: st_accel: Add lis3l02dq support 2016-07-04 18:07:44 +01:00
st_accel_spi.c iio: accel: st_accel: Add lis3l02dq support 2016-07-04 18:07:44 +01:00
st_accel.h iio: accel: st_accel: Add lis3l02dq support 2016-07-04 18:07:44 +01:00
stk8ba50.c iio: remove unused gpio consumer.h include 2016-04-03 10:27:47 +01:00
stk8312.c iio: remove unused gpio consumer.h include 2016-04-03 10:27:47 +01:00