Commit ef5f195b851064b51c81c45ff981bec504eefafa
Committed by
Greg Kroah-Hartman
1 parent
f7934771a2
Exists in
ti-linux-3.14.y
and in
2 other branches
iio:bma180: Fix scale factors to report correct acceleration units
commit 381676d5e86596b11e22a62f196e192df6091373 upstream. The userspace interface for acceleration sensors is documented as using m/s^2 units [Documentation/ABI/testing/sysfs-bus-iio] The fullscale raw values for the BMA80 corresponds to -/+ 1, 1.5, 2, etc G depending on the selected mode. The scale table was converting to G rather than m/s^2. Change the scaling table to match the documented interface. See commit 71702e6e, iio: mma8452: Use correct acceleration units, for a related fix. Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net> Cc: Oleksandr Kravchenko <o.v.kravchenko@globallogic.com> Signed-off-by: Jonathan Cameron <jic23@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Showing 1 changed file with 3 additions and 3 deletions Side-by-side Diff
drivers/iio/accel/bma180.c
| ... | ... | @@ -68,13 +68,13 @@ |
| 68 | 68 | /* Defaults values */ |
| 69 | 69 | #define BMA180_DEF_PMODE 0 |
| 70 | 70 | #define BMA180_DEF_BW 20 |
| 71 | -#define BMA180_DEF_SCALE 250 | |
| 71 | +#define BMA180_DEF_SCALE 2452 | |
| 72 | 72 | |
| 73 | 73 | /* Available values for sysfs */ |
| 74 | 74 | #define BMA180_FLP_FREQ_AVAILABLE \ |
| 75 | 75 | "10 20 40 75 150 300" |
| 76 | 76 | #define BMA180_SCALE_AVAILABLE \ |
| 77 | - "0.000130 0.000190 0.000250 0.000380 0.000500 0.000990 0.001980" | |
| 77 | + "0.001275 0.001863 0.002452 0.003727 0.004903 0.009709 0.019417" | |
| 78 | 78 | |
| 79 | 79 | struct bma180_data { |
| 80 | 80 | struct i2c_client *client; |
| ... | ... | @@ -94,7 +94,7 @@ |
| 94 | 94 | }; |
| 95 | 95 | |
| 96 | 96 | static int bw_table[] = { 10, 20, 40, 75, 150, 300 }; /* Hz */ |
| 97 | -static int scale_table[] = { 130, 190, 250, 380, 500, 990, 1980 }; | |
| 97 | +static int scale_table[] = { 1275, 1863, 2452, 3727, 4903, 9709, 19417 }; | |
| 98 | 98 | |
| 99 | 99 | static int bma180_get_acc_reg(struct bma180_data *data, enum bma180_axis axis) |
| 100 | 100 | { |