* [PATCH v2] iio: afe: rescale: always expose offset
@ 2026-10-16 11:00 Andrea Amer via B4 Relay
2026-10-17 0:20 ` Jonathan Cameron
0 siblings, 1 reply; 2+ messages in thread
From: Andrea Amer via B4 Relay @ 2026-10-16 11:00 UTC (permalink / raw)
To: Peter Rosin, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko, Liam Beguin
Cc: linux-iio, linux-kernel, Jonathan Cameron, Andrea Amer
From: Andrea Amer <and.amer@gmail.com>
A rescale channel advertises IIO_CHAN_INFO_OFFSET only when its own
offset is non-zero. A child rescale therefore hides a source offset,
and consumers apply raw * scale and drop it. rescale_read_raw() already
folds the source offset in, so expose the attribute in every case.
Fixes: a29c3283653b ("iio: afe: rescale: add offset support")
Signed-off-by: Andrea Amer <and.amer@gmail.com>
---
Changes in v2:
- Keep the IIO_CHAN_INFO_SCALE line unchanged (Andy Shevchenko)
- Link to v1: https://lore.kernel.org/r/20261012-iio-rescale-offset-v1-1-14ed15979ff2@gmail.com
---
drivers/iio/afe/iio-rescale.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/iio/afe/iio-rescale.c b/drivers/iio/afe/iio-rescale.c
index 3a6a09ffa5267ddfd5131fbd04a5df928836589d..4639a67ea462bf5c29603783a6f230d769fb02b0 100644
--- a/drivers/iio/afe/iio-rescale.c
+++ b/drivers/iio/afe/iio-rescale.c
@@ -301,11 +301,9 @@ static int rescale_configure_channel(struct device *dev,
}
chan->info_mask_separate = BIT(IIO_CHAN_INFO_RAW) |
+ BIT(IIO_CHAN_INFO_OFFSET) |
BIT(IIO_CHAN_INFO_SCALE);
- if (rescale->offset)
- chan->info_mask_separate |= BIT(IIO_CHAN_INFO_OFFSET);
-
/*
* Using .read_avail() is fringe to begin with and makes no sense
* whatsoever for processed channels, so we make sure that this cannot
---
base-commit: a3b3580713f3ac5a32dc2874ee546828977a1d68
change-id: 20261012-iio-rescale-offset-41254a33b6d6
Best regards,
--
Andrea Amer <and.amer@gmail.com>
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [PATCH v2] iio: afe: rescale: always expose offset
2026-10-16 11:00 [PATCH v2] iio: afe: rescale: always expose offset Andrea Amer via B4 Relay
@ 2026-10-17 0:20 ` Jonathan Cameron
0 siblings, 0 replies; 2+ messages in thread
From: Jonathan Cameron @ 2026-10-17 0:20 UTC (permalink / raw)
To: Andrea Amer via B4 Relay
Cc: and.amer, Peter Rosin, David Lechner, Nuno Sá,
Andy Shevchenko, Liam Beguin, linux-iio, linux-kernel
On Fri, 16 Oct 2026 13:00:20 +0200
Andrea Amer via B4 Relay <devnull+and.amer.gmail.com@kernel.org> wrote:
> From: Andrea Amer <and.amer@gmail.com>
>
> A rescale channel advertises IIO_CHAN_INFO_OFFSET only when its own
> offset is non-zero. A child rescale therefore hides a source offset,
> and consumers apply raw * scale and drop it. rescale_read_raw() already
> folds the source offset in, so expose the attribute in every case.
Hi Andrea,
Why not check if there is either an offset in the rescaler or the underlying
device? iio_channel_has_info(schan, IIO_CHAN_INFO_OFFSET) is used just above
an should tell us that.
If neither are present I think we can continue to not present that attribute.
Thanks,
Jonathan
>
> Fixes: a29c3283653b ("iio: afe: rescale: add offset support")
> Signed-off-by: Andrea Amer <and.amer@gmail.com>
> ---
> Changes in v2:
> - Keep the IIO_CHAN_INFO_SCALE line unchanged (Andy Shevchenko)
> - Link to v1: https://lore.kernel.org/r/20261012-iio-rescale-offset-v1-1-14ed15979ff2@gmail.com
> ---
> drivers/iio/afe/iio-rescale.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/iio/afe/iio-rescale.c b/drivers/iio/afe/iio-rescale.c
> index 3a6a09ffa5267ddfd5131fbd04a5df928836589d..4639a67ea462bf5c29603783a6f230d769fb02b0 100644
> --- a/drivers/iio/afe/iio-rescale.c
> +++ b/drivers/iio/afe/iio-rescale.c
> @@ -301,11 +301,9 @@ static int rescale_configure_channel(struct device *dev,
> }
>
> chan->info_mask_separate = BIT(IIO_CHAN_INFO_RAW) |
> + BIT(IIO_CHAN_INFO_OFFSET) |
> BIT(IIO_CHAN_INFO_SCALE);
>
> - if (rescale->offset)
> - chan->info_mask_separate |= BIT(IIO_CHAN_INFO_OFFSET);
> -
> /*
> * Using .read_avail() is fringe to begin with and makes no sense
> * whatsoever for processed channels, so we make sure that this cannot
>
> ---
> base-commit: a3b3580713f3ac5a32dc2874ee546828977a1d68
> change-id: 20261012-iio-rescale-offset-41254a33b6d6
>
> Best regards,
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-10-17 0:20 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-16 11:00 [PATCH v2] iio: afe: rescale: always expose offset Andrea Amer via B4 Relay
2026-10-17 0:20 ` Jonathan Cameron
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®