Re: [PATCH v5 0/4] iio: flow: Sensirion SLF3S liquid flow sensor
From: Jonathan Cameron
Date: Sun Jul 19 2026 - 22:29:39 EST
On Tue, 14 Jul 2026 10:53:54 +0200
Wadim Mueller <wafgo01@xxxxxxxxx> wrote:
> Hi all,
>
> this series adds a driver for the Sensirion SLF3S family of I2C liquid
> flow sensors (SLF3S-0600F / -1300F / -4000B) and a new IIO_VOLUMEFLOW
> channel type.
Hi Wadim
Something seems to have gone wrong somewhere. I'm not seeing patch 4
and it didn't reach patchwork either.
Thanks,
Jonathan
>
> The series is now based on iio.git testing, which already contains
> Rodrigo Alencar's IIO_VAL_DECIMAL64_* core formatting work, so the
> external dependency listed in v4 is gone. Patch 3/4 adds the
> IIO_VAL_DECIMAL64_FEMTO format type on top of it.
>
> The compatible/fallback layout of the dt-binding is intentionally
> unchanged from v4 while the discussion on the v4 thread about the
> preferred fallback scheme is still open:
>
> https://lore.kernel.org/linux-iio/20260621145117.70b2d50e@jic23-huawei/
>
> Changes since v4
> ----------------
> * rebased onto iio.git testing; trivial conflict with the new
> IIO_COVERAGE entries in the channel-type lists resolved (1/4)
> * driver: include err.h for PTR_ERR() and math.h for struct
> s32_fract, per Andy
> * driver: fold the per-variant scale_num/scale_den pair into a
> struct s32_fract, per Andy
> * driver: add enum slf3s_variant_id and use it for the variant
> table and the I2C/OF match tables instead of bare indices, per
> Andy
> * driver: slf3s_send_cmd(): drop the "at_least 2" parameter
> annotation, decouple the ret assignment from its declaration and
> check errors first, per Andy
> * driver: use sizeof() instead of ARRAY_SIZE() for the measurement
> byte buffer, per Andy
> * driver: parenthesise the (FEMTO / MILLI) factor so it folds into
> a single constant multiplication, per Andy
> * driver: derive the temperature scale from MILLIDEGREE_PER_DEGREE
> instead of a bare 1000, per Andy
> * driver: checked the struct slf3s_data layout (re Andy's pahole
> question): the non-pointer members total 260 bytes, so one 4-byte
> hole remains for any member order; left as is
> * driver: drop the inline comment on the mutex that duplicated the
> kernel-doc, per Jonathan
> * driver: fix the duplicated argument in the DT/sensor variant
> mismatch dev_info(), per Jonathan
> * driver: reformat the i2c_device_id/of_device_id tables to one
> member per line, per Jonathan
> * MAINTAINERS: updated Maxwells address in the R: entry to
> maxwell@xxxxxxxxxxx, as he requested on the v4 thread
>
> The signaling-flags word (air-in-line / high-flow / smoothing status) in
> each measurement frame is intentionally not read; exposing it can be a
> later follow-up.
>
> Thanks,
> Wadim
>
> Wadim Mueller (4):
> iio: types: add IIO_VOLUMEFLOW channel type
> dt-bindings: iio: flow: add Sensirion SLF3S liquid flow sensor
> iio: core: add IIO_VAL_DECIMAL64_FEMTO format type
> iio: flow: add Sensirion SLF3S liquid flow sensor driver
>
> Documentation/ABI/testing/sysfs-bus-iio | 11 +
> Documentation/ABI/testing/sysfs-bus-iio-flow | 21 +
> .../bindings/iio/flow/sensirion,slf3s.yaml | 58 ++
> MAINTAINERS | 8 +
> drivers/iio/Kconfig | 1 +
> drivers/iio/Makefile | 1 +
> drivers/iio/flow/Kconfig | 22 +
> drivers/iio/flow/Makefile | 7 +
> drivers/iio/flow/slf3s.c | 541 ++++++++++++++++++
> drivers/iio/industrialio-core.c | 3 +
> include/linux/iio/types.h | 1 +
> include/uapi/linux/iio/types.h | 1 +
> tools/iio/iio_event_monitor.c | 2 +
> 13 files changed, 677 insertions(+)
> create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-flow
> 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
>
>
> base-commit: a50909aa46dec46de3c73235fc15a7d6f763d996