From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C96E7296BC1 for ; Sat, 30 May 2026 20:55:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.46 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780174505; cv=none; b=gMNDWq1WDlpWeYPsNkX/N/iQhqjFXW/uIGKKhSXGG22dwauvQETht4EpyByLkcMZAzmMcm3/zNNWmr3yNsVeAkXMZhw+JPg9e4qrDo6a+uosd1jMhWGtuP9ub5/zfspdQ21luXmccc76F3R8EM7OLtvayYIXojOm5WlnyA2Qxrc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780174505; c=relaxed/simple; bh=UiqUdZNRF7eardJd3hONfjjKT3P6JjWYLeCZRDbyVpE=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=cDXU6kriTs0t7mvuzt2/FbaHYTnpps6iGRyiHazHpg1YX8xWUV5XpYEgjnAPZb5AGPGcR2EQ3ngKo2mWYBcyCc5T1crHMla8rb1qzWsZIpT4x5Jhy9LaK+P6+M6vvc0pnUFFPUuNKCmPkej6wgEVjOR8OPM50IqdIbJ5yTZRyzY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=YZKZoFlc; arc=none smtp.client-ip=209.85.128.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="YZKZoFlc" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-490a765d410so1289945e9.1 for ; Sat, 30 May 2026 13:55:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780174501; x=1780779301; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=kyzq+icHZHQh6+UykHH+7FDE4tjYOIwMXwyjQtjbacI=; b=YZKZoFlcEnQZdIKP8a+fd2cS/s2XuRxAleD6rthrYUq6O7pI9ofeXNDVOPxDxR282N gUNam4BcRWG0neacbHhsd7QX+2YoAIxKy7RfUUNlpt+2Bcx+/+wURYXlUg8PGunr711A eqViPW0J753Jg1sFGsBifa0sSmy4iTJz0jEtfEOMH2g5++Z7FjIU24RvThu5nF04/VkL pDdml7B06MaBMD6J9JnSZt1nMfj175VP8jeoUEFAsfbFYpqopTPkPO4dNFGTywxXBUoH V50srfCzFLq3Q/+zKKldXMxfrV6v54ixvkEq8llubiBelA2zqOVUhTVr8AD+yGh62Faz 99mA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780174501; x=1780779301; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=kyzq+icHZHQh6+UykHH+7FDE4tjYOIwMXwyjQtjbacI=; b=VeX/XtidUYKuaEe7oojuAEQcPLGNKNjKN4T/WeuEz0BA3wzxGuiDyPJjzu3XwCtp48 IF/NXzIrxAxnXp39LLeonKN4hYq3aO4Ki6440OLGr9aP3fq4KzOPAuyXsqxtoJM0y+EX ylN6+2SxFpqyCDn0ULybyt9iOkP/P7aSW+l/+mu0jHhqi1atFXh43WSdUOW+Mc0pkGsZ FWNxd5QVxkLNX3WS7bUMOfliTnvdaxkPnqNFqJ6PjjF7FeE+/Hb3ntQ/R6vQTpwAf/5v VrUw1ucdV3KC/otx2XywWfYctwOHrk3S8Mr//kmVBe0Vi3d45uVXEMALB2OvHKnZNncl RZ0Q== X-Forwarded-Encrypted: i=1; AFNElJ+DlDqRQZU0e7W0j+eXSIgtICdfooGeGJQ8HiGxDHTA53dUcA09a+Sw9+AzDjJe6SlWYbIeTjdmIaKRi4k=@vger.kernel.org X-Gm-Message-State: AOJu0YySyxZhN84yaDXs9j+qM3hUXgnPzwisPgwBXyeaQk0AXJVqW97B oZAiXPQ/cW7Vitw+g5lxNNtBt1/Vi+oH5nIO3MYADN+853TjIJ1h4dPyUeOrlsfN X-Gm-Gg: Acq92OEwz55ijzHiOm8P/TrF2i2couPY9+IQ4C40mRsRdC5+zkhRWzCOFQABBZZKojx OtdAODiMay7vppil7f3b/otWV6yCXU396G4CHs+OQjYUk3Xji6hNd1uS2OyqOaWdzpjd7kP9wpv sBEgIUHYdtaChUq82SOeJma8LZrqgeEdza1WrRjKGUS5atQFZ/uOSpXxw94+43GZgmoeeG8eZ3D vMA1ZoecFpiZ8gJJcdSVOS7SdpaqI6Kvc/yB/lkxJhBf4m7RFPXhDcBUeKeWu86QicllQFaUwuk MEIiTlYikUYGi0XskLKFxXZHiVkPHoq504DDGxfsmPKUmji+XT392clBKO59Nk9iFwILSZ3l28k +brCe5TRr2qj0ehXi+3Grl5gW67kCiM2doDGVdnBPYYZTcxKhDEGMZ/gpvK4+KwA3fdT8yQsYO7 j8OTzIJ372ZPXz/lU= X-Received: by 2002:a05:600c:6008:b0:488:a882:c7 with SMTP id 5b1f17b1804b1-490a2963f07mr65009115e9.25.1780174501228; Sat, 30 May 2026 13:55:01 -0700 (PDT) Received: from sefo-laptop ([2a02:8071:50c5:5c0::361b]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4909cab0e94sm132288225e9.12.2026.05.30.13.55.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 30 May 2026 13:55:00 -0700 (PDT) From: Wadim Mueller To: Jonathan Cameron , Krzysztof Kozlowski , Rob Herring , Conor Dooley , David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , Maxwell Doose Cc: linux-iio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 0/3] iio: flow: Sensirion SLF3S liquid flow sensor Date: Sat, 30 May 2026 22:54:29 +0200 Message-ID: <20260530205435.37326-1-wafgo01@gmail.com> X-Mailer: git-send-email 2.52.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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