[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <36890130-24ed-2200-1e8d-964612fee62d@axentia.se>
Date: Tue, 11 Jun 2019 11:02:14 +0000
From: Peter Rosin <peda@...ntia.se>
To: Mylène Josserand <mylene.josserand@...tlin.com>,
"jic23@...nel.org" <jic23@...nel.org>,
"knaack.h@....de" <knaack.h@....de>,
"lars@...afoo.de" <lars@...afoo.de>,
"pmeerw@...erw.net" <pmeerw@...erw.net>,
"robh+dt@...nel.org" <robh+dt@...nel.org>,
"mark.rutland@....com" <mark.rutland@....com>
CC: "linux-iio@...r.kernel.org" <linux-iio@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"thomas.petazzoni@...tlin.com" <thomas.petazzoni@...tlin.com>
Subject: Re: [PATCH v1 0/3] iio: afe: rescale: Add INFO_PROCESSED support
On 2019-06-11 11:56, Mylène Josserand wrote:
> Hello everyone,
>
> You will find a small series that add the support of processed values
> for iio-rescale driver.
> Thanks to that, it is possible to read processed values in sysfs instead
> of getting only raw and scale values.
>
> Here is an example for a 3v3 voltage reading:
> # cat /sys/bus/iio/devices/iio\:device1/in_voltage0_scale
> 3.791015625
> # cat /sys/bus/iio/devices/iio\:device1/in_voltage0_raw
> 879
> # cat /sys/bus/iio/devices/iio\:device1/in_voltage0_input
> 3332
>
> It is also possible to read directly the processed values using iio-hwmon
> driver (see example in patch03):
>
> # cat /sys/class/hwmon/hwmon0/in1_input
> 3328
>
> I seperated my series in 3 patches:
> - Patch01: Move the scale conversion into a function to prepare the
> support of IIO_CHAN_INFO_PROCESSED.
> - Patch02: Add the support of IIO_CHAN_INFO_PROCESSED.
> - Patch03: Add an example of the use of hwmon and voltage-divider nodes
> in device-tree.
>
> If you have any feedbacks on it, I will be pleased to read them!
The last patch about hwmon has nothing to do with this series, and
should be possible as-is without any code changes. No? AFAICT,
iio_hwmon calls iio_read_channel_processed, which calls
iio_convert_raw_to_processed_unlocked in case IIO_CHAN_INFO_PROCESSES
is not handled by the driver. Is that not working?
There is also libiio in userspace that provides the scale as a double
and makes the conversion to a processed value trivial, so the series
is really mostly about the convenience of having a human directly
seeing the processed value in sysfs. Right?
If that is deemed valuable, then I think it should be fixed in a
central location, and not individually for each and every driver.
Anyway, not my call, just stating my opinion, but those are the
reasons for me not adding a processed channel from the very beginning.
Cheers,
Peter
> Best regards,
> Mylène
>
> Mylène Josserand (3):
> iio: afe: rescale: Move scale conversion to new function
> iio: afe: rescale: Add support of CHAN_INFO_PROCESSED
> dt-bindings: iio: afe: Add hwmon example
>
> .../bindings/iio/afe/voltage-divider.txt | 24 ++++++
> drivers/iio/afe/iio-rescale.c | 96 ++++++++++++++++------
> 2 files changed, 96 insertions(+), 24 deletions(-)
>
Powered by blists - more mailing lists