From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) (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 30F9F428473 for ; Wed, 27 May 2026 14:35:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.43 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779892532; cv=none; b=dTYWZyDdD1eXiZ5sWFm27N7iqs2mxBucUwRR65au8ULNQC7GFRc3I1RFb5+uTphOsDGmmcRodVtL5twd0RqhLQ9+yHXQfCy3uexA2Iioe5/P/cEVlJAqKzDbMooB2eQ9SsI0MX+dSyVJlV+KJI3ojqmy/QrOfNrewnQ3okmNJbU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779892532; c=relaxed/simple; bh=3WvURRv+0iGdxA52spNK9Vrx/EhqkX/wdqaVWGz9pO0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=aHR46d05OzkbRSbMHxJSqdv0K/EaNY4MBIcQECMgjcse20CEmZxuCXO67wsjN4k7qPtP1JL8mxFU2aOQ6LJpuPe5mdFssaesIZyj+gFhYjiusW2WIiFTCXL82+koAFWfCgXz5lp/ON42T6raPM6znvgD9bN6/+tb9jhN0+fo3MU= 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=peaWFW+B; arc=none smtp.client-ip=209.85.221.43 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="peaWFW+B" Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-45ed9336049so1520338f8f.0 for ; Wed, 27 May 2026 07:35:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779892526; x=1780497326; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=96VfRnvZ0QCw3hUcAbbbU59S7RhhCddL2r3UDNMDre4=; b=peaWFW+BO9b7N9ANM6TmONUvqn15q3Cuw95P3PMhYTZnIRb/26wbvozr485/vijz5+ 7OJDujmt3TB8a5dVL2oJwXCq9DeDf5cJmVhdFih0dw2+4UKtGdXkbfDOe44hlc7cvXXE 7Z4w3kOUlj9PsmP7MS+kLK+dlRYdrApf3f0MtcdyCk2s+NOy0TW7TF42oHygIobSXtjF NYnsMwxoITP2Be5y4K4B8/nZRm9SVu0kHHLLVdyO/FSF44OyqhMkt2YW0MY/5CShNpH/ le3pzH4VecRBsVmyv5mjJGrLHwaNzzRLngivDlNGXnI8rFPOWsx7J+U9mPHH886bZPG8 yVtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779892526; x=1780497326; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=96VfRnvZ0QCw3hUcAbbbU59S7RhhCddL2r3UDNMDre4=; b=k0C2SFklB+d7MXbjtnlflFNLacmQKyoqmx/RLvbIO/OH3DN6n3/c9+Jgt8FWApLcyR 37RWwZb7qSRd0e7TQ4JhBySUpI/KEUnxQZkAcTX/Nq/z5gp1cAnxjKM9h4SgVTDojMMI oFCPjIHA2Gi6GJ3tc0Ukei09Q8xvhBi3L9Q5EgK7XRRIhOM9MsxMZ8npC2NvhI08MiF2 BJc3xx/w0AcP5E0XY5tndc8DjpbiPObGons566R2//4nPzbQyqihLUtxkQN7HHmq4U7a 3zC8e9csfRZ5RnAu/zGYwArw9IGd8WllxHDLamt9pF9KRQDib3mytDtQTida6RFIh9D+ bGhw== X-Forwarded-Encrypted: i=1; AFNElJ80Mqf/ICUeLeWvJuk48ia2GbKDFPjiS9XVL05AxTxU0P+8RfT0tuhh+5ct4RIgmSXs4FusEHVctO4EH4E=@vger.kernel.org X-Gm-Message-State: AOJu0YwDSqPIqcPPi2ZkHpSKX8FH7auHNcVOO+D/M/vQ/krqS4qtIRPx 5bT1eCAMgw0z+H1o217naYjNjpoq+CTbW6fgfYHNH1CPSEH6ekweVO/9 X-Gm-Gg: Acq92OGXKyV/PpGZTfhd+Xmd2Yx5sJs4VHDFUW6yLoaGnh+EmUTM2fpXjHbZwKpB8O4 ILT9mJwrGRzxq6FfLY/Z1LAq8okRJD/Kj8YWh5nfBQeHPqCQlM+PVkvTJO3watk84d4NGaIqnfg WWCwgfnsyLxhp0mjcRKG3YYra/q9Q7GqOMaZZIWukTgrMABQ5l5ma8mGpeIW013SP0w/3NH2uUS cBDTOr8NM+ieYgJwoEvNYBgwHmxzSgxlb0qEdZsqkjh5z3ouqnEgbJJPjFbseqdAJEDA502PRwt iGwbzls1jHN61QBqbWq1z2Lkll+JvrZwTX9WNrOmJenF8uB3nzo2NP4C1yQSYmJsYNvXmQ85nu3 LNbIrWO4PEnsi7BN+DfYhRGs+dEwtyTOS1chi2jt6Wpf25aJtRIw/mvlmDMjZb3SAQboq/6MXmr QvdCon2NyHkTnS1Pc= X-Received: by 2002:a05:6000:470b:b0:452:d03a:7aad with SMTP id ffacd0b85a97d-45eb38a6d8cmr39575261f8f.36.1779892526169; Wed, 27 May 2026 07:35:26 -0700 (PDT) Received: from sefo-laptop ([2a02:8071:50c5:5c0::361b]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45edb5584b8sm6239763f8f.11.2026.05.27.07.35.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 May 2026 07:35:25 -0700 (PDT) From: Wadim Mueller To: Guenter Roeck Cc: jic23@kernel.org, lars@metafoo.de, dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, jdelvare@suse.com, ak@it-klinger.de, linux-iio@vger.kernel.org, linux-hwmon@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [RFC PATCH v1 3/4] iio: flow: add Sensirion SLF3x liquid flow sensor driver Date: Wed, 27 May 2026 16:35:06 +0200 Message-ID: <20260527143515.102794-9-wafgo01@gmail.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <4349f634-dd7b-468a-912c-5ceb8a283954@roeck-us.net> References: <20260524205112.26638-1-wafgo01@gmail.com> <20260524205112.26638-4-wafgo01@gmail.com> <4349f634-dd7b-468a-912c-5ceb8a283954@roeck-us.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit On Sun, 24 May 2026 14:40:51 -0700 Guenter Roeck wrote: > Sice you are at it, it might make sense to also support SLF3S-1300F. Done in v2. scale_den = 30 000 000 (500 (ml/min)^-1, Table 15 of the LQ_DS_SLF3S-1300F datasheet) and sub_type byte 0x02 (Table 13, product number 0x07030202). Re-checked 0600F (0x07030302 -> 0x03) and 4000B (0x07030501 -> 0x05) while I was at it, so all three entries now match the published product numbers. > > + { "sensirion,slf3s-0600f", "slf3s-0600f", ... } > > drivers/iio/flow/slf3x.c > What does the "X" refer to ? Why not "S" ? Done in v2. Renamed everywhere - slf3x.c -> slf3s.c, SLF3X_* -> SLF3S_*, Kconfig symbol and MAINTAINERS title too. > > +static const u8 slf3x_cmd_start_water[] = { 0x36, 0x08 }; > > I looked at LQ_DS_SLF3S-1300F, LQ_DS_SLF3S-0600F, and LQ_DS_SLF3S-4000B. > They all also support Isopropyl alcohol (IPA) measurements. > > Would it make sense to also provide support for other liquid types > besides water ? That could be a sysfs attribute and/or a devicetree > property. Picked up in v2. All three variants are factory-calibrated for H2O and IPA; the scale factor and temperature interpretation are identical, only the start command differs (0x3608 vs 0x3615). v2 adds a "sensirion,medium" DT property (enum "water" / "ipa", default water) that selects the start command at probe time, and the binding (patch 2/3) documents it. Kept this as a probe-time choice instead of a sysfs attribute since switching mid-run needs a stop anyway per the datasheet. > > +static int slf3x_verify_crc(const u8 *block) > > +{ > > + return crc8(slf3x_crc_table, block, 2, SLF3X_CRC8_INIT) == block[2] ? > > + 0 : > > + -EIO; > This returns -EIO on error ... > > + > > + for (i = 0; i < SLF3X_PRODUCT_ID_LEN; i += 3) { > > + if (slf3x_verify_crc(&buf[i])) { > ... which is then ignored here and replaced by -EIO. > > Why not just have it return a boolean ? Done in v2. slf3s_crc_valid() returns bool now; the call sites translate false into -EIO themselves. > > + dev_err(&client->dev, "unsupported SLF3x sub-type 0x%02x\n", > > + buf[SLF3X_SUBTYPE_BYTE]); > > Not my call to make, but the driver is way too noisy for my liking. Toned down in v2: - Unknown sub-type / unexpected family byte -> dev_dbg() and keep going (also covers Jonathan's fallback-compatibles point). - CRC mismatches -> dev_err_probe() in probe / dev_err() in read_raw, one line per failure instead of per-byte spam. Thanks, Wadim