mbox series

[v1,0/9] iio: afe: add temperature rescaling support

Message ID 20210530005917.20953-1-liambeguin@gmail.com (mailing list archive)
Headers show
Series iio: afe: add temperature rescaling support | expand

Message

Liam Beguin May 30, 2021, 12:59 a.m. UTC
From: Liam Beguin <lvb@xiphos.com>

Add temperature rescaling support to the IIO Analog Front End driver.

This series adds support for three kinds of temperature front end
circuits:
- temperature-sense-rtd for which the resistance is proportional to the
  temperature
- temperature-sense-current for which the current is proportional to the
  temperature
- temperature-sense-amplifier for which the voltage is proportional to
  the temperature

At first I tried to use iio_convert_raw_to_processed() to get more
precision out of processed values but ran into issues when one of my
ADCs didn't provide a scale. I tried to address this in first patch.

When adding offset support to iio-rescale, I also noticed that
iio_read_channel_processed() assumes that the offset is always an
integer which I tried to address in the second patch.
If it makes sense to add support for fractional offsets, I could give it
a try in another series.

Related to: https://patchwork.kernel.org/project/linux-iio/list/?series=483087

Thanks for your time

Liam Beguin (9):
  iio: inkern: always apply scale requested by consumer
  iio: inkern: error out on unsupported offset type
  iio: afe: rescale: use core to get processed value
  iio: afe: rescale: add offset support
  iio: afe: rescale: add support for temperature sensors
  dt-bindings: iio: afe: update MAINTAINERS file
  dt-bindings: iio: afe: add binding for temperature-sense-rtd
  dt-bindings: iio: afe: add binding for temperature-sense-current
  dt-bindings: iio: afe: add binding for temperature-sense-amplifier

 .../iio/afe/temperature-sense-amplifier.yaml  |  55 +++++
 .../iio/afe/temperature-sense-current.yaml    |  61 ++++++
 .../iio/afe/temperature-sense-rtd.yaml        |  65 ++++++
 MAINTAINERS                                   |   9 +-
 drivers/iio/afe/iio-rescale.c                 | 190 +++++++++++++++---
 drivers/iio/inkern.c                          |  12 +-
 6 files changed, 354 insertions(+), 38 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/iio/afe/temperature-sense-amplifier.yaml
 create mode 100644 Documentation/devicetree/bindings/iio/afe/temperature-sense-current.yaml
 create mode 100644 Documentation/devicetree/bindings/iio/afe/temperature-sense-rtd.yaml


base-commit: 9f4ad9e425a1d3b6a34617b8ea226d56a119a717