]> git.itanic.dy.fi Git - linux-stable/commit
iio: afe: rescale: Accept only offset channels
authorLinus Walleij <linus.walleij@linaro.org>
Sat, 2 Sep 2023 19:46:20 +0000 (21:46 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Tue, 17 Oct 2023 19:25:32 +0000 (20:25 +0100)
commitbee448390e5166d019e9e037194d487ee94399d9
tree6b9fcdef57d782ec83797f40f87f4c082cb7ea42
parent865b080e3229102f160889328ce2e8e97aa65ea0
iio: afe: rescale: Accept only offset channels

As noted by Jonathan Cameron: it is perfectly legal for a channel
to have an offset but no scale in addition to the raw interface.
The conversion will imply that scale is 1:1.

Make rescale_configure_channel() accept just scale, or just offset
to process a channel.

When a user asks for IIO_CHAN_INFO_OFFSET in rescale_read_raw()
we now have to deal with the fact that OFFSET could be present
but SCALE missing. Add code to simply scale 1:1 in this case.

Link: https://lore.kernel.org/linux-iio/CACRpkdZXBjHU4t-GVOCFxRO-AHGxKnxMeHD2s4Y4PuC29gBq6g@mail.gmail.com/
Fixes: 53ebee949980 ("iio: afe: iio-rescale: Support processed channels")
Fixes: 9decacd8b3a4 ("iio: afe: rescale: Fix boolean logic bug")
Reported-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Peter Rosin <peda@axentia.se>
Link: https://lore.kernel.org/r/20230902-iio-rescale-only-offset-v2-1-988b807754c8@linaro.org
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/afe/iio-rescale.c