From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A1DB430CD85 for ; Fri, 14 Aug 2026 22:21:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=216.40.44.16 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786746099; cv=none; b=tnxP0u1YCuOIecS1kP/sBCxh3qMJu8gcphd5hhw1PFClzwFJ8/IeVp8HeAncT4lykTxdW7m0g1w3niLPbtK934QNxZKCTcD2m1BnCNg//xA6Pdvo7UrlAML3qnDt1rwVL/cuachbsqTFlpLs4OdKJ3I5AxHVzOalhTSCc1Qbf5g= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786746099; c=relaxed/simple; bh=xd8r1CTIG+hrJvg3WkuRzkQhmE5AeiEo0OnNf2aH+Gc=; h=Message-ID:Subject:From:To:Cc:Date:In-Reply-To:References: Content-Type:MIME-Version; b=nfnpG5s2KNiuXm0fZUWlUDssS4RnEd7qyrxslSxxH9znTupi43DPUUSobB/jPkYYHUGvJRVUf0uZzyz4yGOsQOgor3fny2pIZui/j7mdCFyJ/0TZj1JOVh1rQ/gQKQdTi9/MKVFlyYYDoBH/VBWbTG7JRWkhF262JIOUQL6byTk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=perches.com; spf=pass smtp.mailfrom=perches.com; arc=none smtp.client-ip=216.40.44.16 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=perches.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=perches.com Received: from omf11.hostedemail.com (lb01a-stub [10.200.18.249]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 50D59C0219; Fri, 14 Aug 2026 22:21:36 +0000 (UTC) Received: from [HIDDEN] (Authenticated sender: joe@perches.com) by omf11.hostedemail.com (Postfix) with ESMTPA id 40DD02002A; Fri, 14 Aug 2026 22:21:34 +0000 (UTC) Message-ID: Subject: Re: [PATCH] checkpatch: recognize standard SI unit prefixes and symbols From: Joe Perches To: Ariel Yu , apw@canonical.com Cc: linux-kernel@vger.kernel.org Date: Fri, 14 Aug 2026 15:21:31 -0700 In-Reply-To: <010601a000f8aa59-fa0e91fe-a069-4aaf-baa2-79737d25251a-000000@ap-northeast-1.amazonses.com> References: <010601a000f8aa59-fa0e91fe-a069-4aaf-baa2-79737d25251a-000000@ap-northeast-1.amazonses.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.58.3 (3.58.3-1.fc43) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Stat-Signature: 54dt1wb3nt4mz6hhm4z86rxh1aki7ork X-Rspamd-Server: rspamout04 X-Rspamd-Queue-Id: 40DD02002A X-Session-Marker: 6A6F6540706572636865732E636F6D X-Session-ID: U2FsdGVkX1/KjyYyQEOR2v8XR6NZo74VitC51+fVa2A= X-HE-Tag: 1786746094-346528 X-HE-Meta: U2FsdGVkX18VK3i0r5VVy9ohuGWmVDYr42jWR3pdbkGUkxd7m1S2ji1AzoaOCH+rf9+Tbq8pTKrCnZDANb6pC2lvZuFHc6lX7QDnkwc8+5R1tIS0zEZajS8g+1IIttUa3s+3ZMk4kcJ8X1YT1DqFsbyKEsVNtfAQg33FM6r/zEP5Nbjmb/EnmLQmunTa3sCTPfgU4fRD8piwWcC1QYpzp/hpgE5aA9flt6aGmVsLk1dMRBdT1AN6clMVQP7E35swUtbhITHMaZLsW8CnABAs++F+IWyAgNU/e8TnCCvBPRIe/K/MbwPHbvGZ+1V85aLdGmy2P7zwZ2dxLNd9K+DWubq4nBr4bAzy/cSOB2OOyi0WX6vhHBoNMEkvv/7m2J43XXstxDFlFsVKbxl93ghqx6NmZGhoWQ9ghk/LoYRrk94= On Fri, 2026-08-14 at 15:51 +0000, Ariel Yu wrote: > ``` > The CAMELCASE check currently uses a broad [a-z][A-Z] pattern to > skip SI-unit-style identifiers, which matches any lowercase-then- > uppercase pair rather than actual SI units. >=20 > Replace it with an explicit list of standard SI prefixes > (u, n, m, k, K, M, G, T) and units (V, A, Hz, Ohm, C, K, s, W), > while retaining the binary byte units (KiB, MiB, GiB) and dB. Why? What does this complication do better? >=20 > Link: [https://lore.kernel.org/linux-iio/F9A182CC-62C0-445C-BAF0-9CDB7FFB= 3868@gmail.com/](https://lore.kernel.org/linux-iio/F9A182CC-62C0-445C-BAF0-= 9CDB7FFB3868@gmail.com/) > Assisted-by: opencode:deepseek-v4-pro > Signed-off-by: Ariel Yu <[ariel@ariels.xyz](mailto:ariel@ariels.xyz)> > --- > scripts/checkpatch.pl | 18 ++++++++++++++---- > 1 file changed, 14 insertions(+), 4 deletions(-) >=20 > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl > index 2b7a42bbdd..ba76beafc3 100755 > --- a/scripts/checkpatch.pl > +++ b/scripts/checkpatch.pl > @@ -5935,11 +5935,21 @@ sub process { > $var !~ /^(?:Clear|Set|TestClear|TestSet|)Page[A-Z]/ && > #Ignore ETHTOOL_LINK_MODE_ variants > $var !~ /^ETHTOOL_LINK_MODE_/ && > -#Ignore SI style variants like nS, mV and dB > +#Ignore SI style variants like mV, uA, kHz, dB, MiB etc. > #(ie: max_uV, regulator_min_uA_show, RANGE_mA_VALUE) > - $var !~ /^(?:[a-z0-9_]*|[A-Z0-9_]*)?_?[a-z][A-Z](?:_[a-z0-9_]+|_[= A-Z0-9_]+)?$/ && > -#Ignore some three character SI units explicitly, like MiB and KHz > - $var !~ /^(?:[a-z_]*?)_?(?:[KMGT]iB|[KMGT]?Hz)(?:_[a-z_]+)?$/) { > +# > +#Recognized standard SI unit prefixes (case sensitive): > +# u - micro (10^-6) n - nano (10^-9) m - milli (10^-3) > +# k - kilo (10^3) K - kilo (10^3) M - mega (10^6) > +# G - giga (10^9) T - tera (10^12) > +# > +#Recognized units (optionally prefixed by the above): > +# V - volt A - ampere Hz - hertz > +# Ohm - ohm C - coulomb K - kelvin > +# s - second W - watt > +#Binary byte units: KiB, MiB, GiB (TiB) > +#Decibel: dB > + $var !~ /^(?:[a-z0-9_]*|[A-Z0-9_]*)?_?(?:[unmkKMGT]?(?:V|A|Hz|Ohm= |C|K|s|W)|[KMG]iB|dB)(?:_[a-z0-9_]+|_[A-Z0-9_]+)?$/) { > while ($var =3D~ m{\b($Ident)}g) { > my $word =3D $1; > next if ($word !~ /[A-Z][a-z]|[a-z][A-Z]/); >=20 > --- > base-commit: d58772d8520c7ef247c4b95c9bd76d3a25da9ff5 > change-id: 20260814-ktodo-si-cad1bd45ca07 >=20 > Best regards, > -- =20 > Ariel Yu <[ariel@ariels.xyz](mailto:ariel@ariels.xyz)> >=20 >=20 > ```