lkml.org 
[lkml]   [2019]   [Feb]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.4 012/143] staging: iio: ad7780: update voltage on read
    Date
    4.4-stable review patch.  If anyone has any objections, please let me know.

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

    [ Upstream commit 336650c785b62c3bea7c8cf6061c933a90241f67 ]

    The ad7780 driver previously did not read the correct device output, as
    it read an outdated value set at initialization. It now updates its
    voltage on read.

    Signed-off-by: Renato Lui Geh <renatogeh@gmail.com>
    Acked-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/staging/iio/adc/ad7780.c | 6 +++++-
    1 file changed, 5 insertions(+), 1 deletion(-)

    diff --git a/drivers/staging/iio/adc/ad7780.c b/drivers/staging/iio/adc/ad7780.c
    index 3abc7789237f..531338ea5eb4 100644
    --- a/drivers/staging/iio/adc/ad7780.c
    +++ b/drivers/staging/iio/adc/ad7780.c
    @@ -90,12 +90,16 @@ static int ad7780_read_raw(struct iio_dev *indio_dev,
    long m)
    {
    struct ad7780_state *st = iio_priv(indio_dev);
    + int voltage_uv;

    switch (m) {
    case IIO_CHAN_INFO_RAW:
    return ad_sigma_delta_single_conversion(indio_dev, chan, val);
    case IIO_CHAN_INFO_SCALE:
    - *val = st->int_vref_mv * st->gain;
    + voltage_uv = regulator_get_voltage(st->reg);
    + if (voltage_uv < 0)
    + return voltage_uv;
    + *val = (voltage_uv / 1000) * st->gain;
    *val2 = chan->scan_type.realbits - 1;
    return IIO_VAL_FRACTIONAL_LOG2;
    case IIO_CHAN_INFO_OFFSET:
    --
    2.19.1


    \
     
     \ /
      Last update: 2019-02-18 15:29    [W:4.129 / U:0.128 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site