[RFC v2 00/11] iio: add iio backend device type

From: Olivier Moysan
Date: Thu Jul 27 2023 - 11:00:35 EST


This v2 is an addon to initial RFC:
https://lore.kernel.org/lkml/20230623140944.2613002-1-olivier.moysan@xxxxxxxxxxx/

Despite the "IIO backend" naming has to be changed (as pointed out by
Jonathan previously), it has been kept here, for time being. The
appropriated naming still has to be discussed later on.

In the previous RFC the "IIO backend" concept was proposed through
a set of template APIs.

This v2 implements a functionnal exemple based on STM32 DFSDM,
to bring scaling support to this peripheral.

Olivier Moysan (11):
iio: introduce iio backend device
of: property: add device link support for io-backends
dt-bindings: iio: stm32-dfsdm-adc: add scaling support
dt-bindings: iio: adc: add scaling support to sd modulator
iio: adc: stm32-dfsdm: manage dfsdm as a channel provider
iio: adc: stm32-dfsdm: adopt generic channel bindings
iio: adc: stm32-dfsdm: add scaling support to dfsdm
iio: adc: sd modulator: add scale and offset support
ARM: dts: stm32: adopt new dfsdm bindings on stm32mp151
ARM: dts: stm32: add dfsdm pins muxing on stm32mp15
ARM: dts: stm32: add dfsdm iio support on stm32mp157c-ev

.../iio/adc/sigma-delta-modulator.yaml | 9 +-
.../bindings/iio/adc/st,stm32-dfsdm-adc.yaml | 189 ++++++------------
arch/arm/boot/dts/st/stm32mp15-pinctrl.dtsi | 39 ++++
arch/arm/boot/dts/st/stm32mp151.dtsi | 18 +-
arch/arm/boot/dts/st/stm32mp157c-ev1.dts | 68 +++++++
drivers/iio/Makefile | 1 +
drivers/iio/adc/sd_adc_modulator.c | 106 ++++++++--
drivers/iio/adc/stm32-dfsdm-adc.c | 187 +++++++++++------
drivers/iio/industrialio-backend.c | 107 ++++++++++
drivers/of/property.c | 2 +
include/linux/iio/backend.h | 56 ++++++
11 files changed, 561 insertions(+), 221 deletions(-)
create mode 100644 drivers/iio/industrialio-backend.c
create mode 100644 include/linux/iio/backend.h

--
2.25.1