lkml.org 
[lkml]   [2016]   [Nov]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.16 248/346] iio: accel: kxsd9: Fix scaling bug
    3.16.39-rc1 review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Linus Walleij <linus.walleij@linaro.org>

    commit 307fe9dd11ae44d4f8881ee449a7cbac36e1f5de upstream.

    All the scaling of the KXSD9 involves multiplication with a
    fraction number < 1.

    However the scaling value returned from IIO_INFO_SCALE was
    unpredictable as only the micros of the value was assigned, and
    not the integer part, resulting in scaling like this:

    $cat in_accel_scale
    -1057462640.011978

    Fix this by assigning zero to the integer part.

    Tested-by: Jonathan Cameron <jic23@kernel.org>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Jonathan Cameron <jic23@kernel.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    drivers/iio/accel/kxsd9.c | 1 +
    1 file changed, 1 insertion(+)

    --- a/drivers/iio/accel/kxsd9.c
    +++ b/drivers/iio/accel/kxsd9.c
    @@ -166,6 +166,7 @@ static int kxsd9_read_raw(struct iio_dev
    ret = spi_w8r8(st->us, KXSD9_READ(KXSD9_REG_CTRL_C));
    if (ret < 0)
    goto error_ret;
    + *val = 0;
    *val2 = kxsd9_micro_scales[ret & KXSD9_FS_MASK];
    ret = IIO_VAL_INT_PLUS_MICRO;
    break;
    \
     
     \ /
      Last update: 2016-11-14 04:18    [W:5.796 / U:0.396 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site