Re: [PATCH v6 0/4] iio: flow: Sensirion SLF3S liquid flow sensor
Jonathan Cameron <[email protected]>
| Newsgroups | org.kernel.vger.linux-devicetree,org.kernel.vger.linux-iio,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <20260805000452.3fd1de5e@jic23-huawei> |
On Sun, 2 Aug 2026 00:50:42 +0100 Jonathan Cameron <[email protected]> wrote: > On Tue, 28 Jul 2026 23:49:39 +0200 > Wadim Mueller <[email protected]> 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. > > I'm going to apply this now, but as it will be in my testing branch (which > I do rebase) for a few days fully welcome any additional comments or > tags. > > Applied to the testing branch of iio.git Tags updated and now pushed out as the togreg branch as well Thanks, J > > Thanks, > > Jonathan > > > > First of all: sorry for the noise. Patch 4/4 of v5 never made it to the > > list or to patchwork - it got lost on the way out from the machine I sent > > v5 from, as Jonathan noticed: > > > > https://lore.kernel.org/linux-iio/20260720032927.14fc4f9f@jic23-huawei/ > > > > So this v6 is mostly a resend of v5 with the driver patch actually > > included, plus the binding change we converged on in the meantime. The > > driver changes that were listed in the v5 changelog are repeated below, > > since nobody got to see them. > > > > The series is based on iio.git testing, which already contains Rodrigo > > Alencar's IIO_VAL_DECIMAL64_* core formatting work; patch 3/4 adds the > > IIO_VAL_DECIMAL64_FEMTO format type on top of it. > > > > Changes since v5 > > ---------------- > > * 4/4 is included this time - v5 only had 1-3 on the list > > * dt-bindings: dropped the fallback compatible entirely; each variant > > now has its own compatible, per the conclusion of the v4 discussion > > between Krzysztof and Jonathan. Since the driver has to look at the > > product-information register anyway, a fallback buys nothing, while > > separate compatibles let a future drop-in part claim a known > > compatible and work on older kernels > > * dt-bindings: dropped Krzysztof's Reviewed-by, since the compatible > > schema changed > > * dt-bindings: commit message and example updated accordingly > > * driver: reworded the slf3s_detect_variant() comment and the commit > > message, which referred to the now-gone fallback compatible. The > > behaviour is unchanged: an unknown sub-type still falls back to the > > variant named in the device tree / I2C table > > * rebased onto current iio.git testing > > > > Changes since v4 (from the v5 posting, repeated because 4/4 was lost) > > --------------------------------------------------------------------- > > * 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 (checkpatch still moans about it) > > * 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 Maxwell's address in the R: entry to > > [email protected], 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. > > > > v5: https://lore.kernel.org/linux-iio/[email protected]/ > > v4: https://lore.kernel.org/linux-iio/[email protected]/ > > > > 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 | 55 ++ > > 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 | 543 ++++++++++++++++++ > > 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, 676 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: e0484d62e8e1cff75b210938be835ea6221bda59 > >