linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Liam Beguin <liambeguin@gmail.com>
To: liambeguin@gmail.com, peda@axentia.se, jic23@kernel.org, lars@metafoo.de
Cc: linux-kernel@vger.kernel.org, linux-iio@vger.kernel.org,
	devicetree@vger.kernel.org, robh+dt@kernel.org
Subject: [PATCH v9 01/14] iio: inkern: apply consumer scale on IIO_VAL_INT cases
Date: Sun, 14 Nov 2021 22:43:21 -0500	[thread overview]
Message-ID: <20211115034334.1713050-2-liambeguin@gmail.com> (raw)
In-Reply-To: <20211115034334.1713050-1-liambeguin@gmail.com>

From: Liam Beguin <lvb@xiphos.com>

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 <lvb@xiphos.com>
---
 drivers/iio/inkern.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iio/inkern.c b/drivers/iio/inkern.c
index 0222885b334c..021e1397ffc5 100644
--- a/drivers/iio/inkern.c
+++ b/drivers/iio/inkern.c
@@ -616,7 +616,7 @@ static int iio_convert_raw_to_processed_unlocked(struct iio_channel *chan,
 
 	switch (scale_type) {
 	case IIO_VAL_INT:
-		*processed = raw64 * scale_val;
+		*processed = raw64 * scale_val * scale;
 		break;
 	case IIO_VAL_INT_PLUS_MICRO:
 		if (scale_val2 < 0)
-- 
2.32.0.452.g940fe202adcb


  reply	other threads:[~2021-11-15  3:44 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-15  3:43 [PATCH v9 00/14] iio: afe: add temperature rescaling support Liam Beguin
2021-11-15  3:43 ` Liam Beguin [this message]
2021-11-15  3:43 ` [PATCH v9 02/14] iio: inkern: apply consumer scale when no channel scale is available Liam Beguin
2021-11-15  3:43 ` [PATCH v9 03/14] iio: inkern: make a best effort on offset calculation Liam Beguin
2021-11-15  3:43 ` [PATCH v9 04/14] iio: afe: rescale: expose scale processing function Liam Beguin
2021-11-15  3:43 ` [PATCH v9 05/14] iio: afe: rescale: add INT_PLUS_{MICRO,NANO} support Liam Beguin
2021-11-21 11:11   ` Jonathan Cameron
2021-11-15  3:43 ` [PATCH v9 06/14] iio: afe: rescale: add offset support Liam Beguin
2021-11-15  3:43 ` [PATCH v9 07/14] iio: afe: rescale: use s64 for temporary scale calculations Liam Beguin
2021-11-15  3:43 ` [PATCH v9 08/14] iio: afe: rescale: reduce risk of integer overflow Liam Beguin
2021-11-15  3:43 ` [PATCH v9 09/14] iio: afe: rescale: fix accuracy for small fractional scales Liam Beguin
2021-11-15  3:43 ` [PATCH v9 10/14] iio: test: add basic tests for the iio-rescale driver Liam Beguin
2021-11-17 15:03   ` kernel test robot
2021-11-21 11:19     ` Jonathan Cameron
2021-11-21 14:30       ` Peter Rosin
2021-11-21 17:00       ` Liam Beguin
2021-11-24 18:36   ` kernel test robot
2021-11-15  3:43 ` [PATCH v9 11/14] iio: afe: rescale: add RTD temperature sensor support Liam Beguin
2021-11-15  3:43 ` [PATCH v9 12/14] iio: afe: rescale: add temperature transducers Liam Beguin
2021-11-15  3:43 ` [PATCH v9 13/14] dt-bindings: iio: afe: add bindings for temperature-sense-rtd Liam Beguin
2021-11-15  3:43 ` [PATCH v9 14/14] dt-bindings: iio: afe: add bindings for temperature transducers Liam Beguin
2021-11-21 11:25 ` [PATCH v9 00/14] iio: afe: add temperature rescaling support Jonathan Cameron
2021-11-21 17:30   ` Liam Beguin
2021-11-22  0:53 ` Peter Rosin
2021-11-23 20:28   ` Jonathan Cameron
2021-11-27 20:27   ` Liam Beguin
2021-11-28  9:17     ` Peter Rosin
2021-11-30 18:52       ` Liam Beguin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211115034334.1713050-2-liambeguin@gmail.com \
    --to=liambeguin@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jic23@kernel.org \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peda@axentia.se \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).