]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit
iio: inkern: apply consumer scale on IIO_VAL_INT cases
authorLiam Beguin <liambeguin@gmail.com>
Sat, 8 Jan 2022 20:53:04 +0000 (15:53 -0500)
committerStefan Bader <stefan.bader@canonical.com>
Wed, 27 Apr 2022 09:56:26 +0000 (11:56 +0200)
commit461de49672191885c0f9ad8fdb3a3b6b03c9612b
treebc047f66b0f5ea830130378573fff84dff487121
parenta960a49a8ceeedf5835ce2eb8943957c7914fef3
iio: inkern: apply consumer scale on IIO_VAL_INT cases

BugLink: https://bugs.launchpad.net/bugs/1969110
commit 1bca97ff95c732a516ebb68da72814194980e0a5 upstream.

When a consumer calls iio_read_channel_processed() and the channel has
an integer scale, the scale channel scale is applied and the processed
value is returned as expected.

On the other hand, if the consumer calls iio_convert_raw_to_processed()
the scaling factor requested by the consumer is not applied.

This for example causes the consumer to process mV when expecting uV.
Make sure to always apply the scaling factor requested by the consumer.

Fixes: 48e44ce0f881 ("iio:inkern: Add function to read the processed value")
Signed-off-by: Liam Beguin <liambeguin@gmail.com>
Reviewed-by: Peter Rosin <peda@axentia.se>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Link: https://lore.kernel.org/r/20220108205319.2046348-2-liambeguin@gmail.com
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit e3858236210184f0bfc2dd7f5188573b54084d5f)
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
drivers/iio/inkern.c