[PATCH v3 0/3] iio: flow: Sensirion SLF3S liquid flow sensor
From: Wadim Mueller
Date: Sat May 30 2026 - 16:55:44 EST
Hi all,
v3 addresses the per-patch review feedback from Jonathan (driver +
cover, https://lore.kernel.org/linux-iio/20260528124413.6c91e1bb@jic23-huawei/)
and Krzysztof (dt-binding,
https://lore.kernel.org/linux-iio/20260528-transparent-adventurous-python-af8f69@quoll/).
As requested this is sent as a fresh thread, not in-reply-to v2.
The IIO_VOLUMEFLOW patch (1/3) is unchanged from v2.
Changes since v2:
* dt-bindings: drop the generic-only "sensirion,slf3s" compatible;
the per-variant compatibles stay (-0600F, -1300F, -4000B)
* dt-bindings: drop the optional interrupts property -- the driver
is polled-only and the binding should not advertise something we
do not consume
* dt-bindings: drop the sensirion,medium property and move medium
selection to the IIO sysfs in_volumeflow_medium ext_info enum;
the sensor starts in water mode after probe and IPA is selected
at runtime via that attribute
* dt-bindings: MAINTAINERS no longer claims drivers/iio/flow/
* driver: includes cleaned up per IWYU (drop property.h since no
DT property is read any more, add array_size.h / dev_printk.h /
device.h / errno.h / types.h / units.h)
* driver: drop the SLF3S_MEAS_LEN define in favour of ARRAY_SIZE()
* driver: inline SLF3S_TEMP_SCALE_MILLIC at the call site with a
short comment that explains the 1000/200 ratio
* driver: use 600 * MICRO / 30 * MICRO / 1920 * MILLI from
linux/units.h for the per-variant scale denominators
* driver: slf3s_send_cmd() takes cmd[at_least 2] (kernel idiom)
rather than cmd[static 2]
* driver: detection wins over the DT-supplied compatible; a
mismatch is reported with dev_info and the sensor-reported
variant is used
* driver: SLF3S_MEAS_START_DELAY_US bumped to 60 ms (datasheet
section 2.2, tw) and a 25 ms tPU power-up delay is observed
between regulator enable and the first I2C command
* driver: blank line before plain return statements; minor reflow
to 80 columns
* commit messages: drop the manual Cc trailers (get_maintainer.pl
handles those) and move Signed-off-by to the end of the trailer
block
Patches:
1/3 iio: types: add IIO_VOLUMEFLOW channel type (unchanged)
2/3 dt-bindings: iio: flow: add Sensirion SLF3S binding
3/3 iio: flow: add Sensirion SLF3S liquid flow sensor driver
Tested with an SLF3S-0600F on a TI AM64x platform; W=1 build clean,
checkpatch --strict clean, dt_binding_check clean.
Thanks,
Wadim
Wadim Mueller (3):
iio: types: add IIO_VOLUMEFLOW channel type
dt-bindings: iio: flow: add Sensirion SLF3S liquid flow sensor
iio: flow: add Sensirion SLF3S liquid flow sensor driver
Documentation/ABI/testing/sysfs-bus-iio | 11 +
.../bindings/iio/flow/sensirion,slf3s.yaml | 49 +++
MAINTAINERS | 8 +
drivers/iio/Kconfig | 1 +
drivers/iio/Makefile | 1 +
drivers/iio/flow/Kconfig | 27 ++
drivers/iio/flow/Makefile | 7 +
drivers/iio/flow/slf3s.c | 406 ++++++++++++++++++
drivers/iio/industrialio-core.c | 1 +
include/uapi/linux/iio/types.h | 1 +
tools/iio/iio_event_monitor.c | 2 +
11 files changed, 514 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/flow/sensirion,slf3s.yaml
create mode 100644 drivers/iio/flow/Kconfig
create mode 100644 drivers/iio/flow/Makefile
create mode 100644 drivers/iio/flow/slf3s.c
--
2.52.0