scripts/checkpatch.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Since commit 4104a20646 enum values like
ETHTOOL_LINK_MODE_Asym_Pause_BIT are ignored. But there are other enums
like ETHTOOL_LINK_MODE_1000baseT_Full_BIT, which are not ignored
because of the not matching '1000baseT' substring.
Extend regex to match also substrings like '1000baseT'.
Signed-off-by: Gerhard Engleder <gerhard@engleder-embedded.com>
---
scripts/checkpatch.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 78cc595b98ce..861fa547001e 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -5780,7 +5780,7 @@ sub process {
if ($var !~ /^$Constant$/ &&
$var =~ /[A-Z][a-z]|[a-z][A-Z]/ &&
#Ignore some autogenerated defines and enum values
- $var !~ /^(?:[A-Z]+_){1,5}[A-Z]{1,3}[a-z]/ &&
+ $var !~ /^(?:[A-Z]+_){1,5}([A-Z]{1,3}[a-z]|[0-9]+[a-z]+[A-Z])/ &&
#Ignore Page<foo> variants
$var !~ /^(?:Clear|Set|TestClear|TestSet|)Page[A-Z]/ &&
#Ignore SI style variants like nS, mV and dB
--
2.30.2
On Fri, 2022-12-30 at 20:59 +0100, Gerhard Engleder wrote: > Since commit 4104a20646 enum values like > ETHTOOL_LINK_MODE_Asym_Pause_BIT are ignored. But there are other enums > like ETHTOOL_LINK_MODE_1000baseT_Full_BIT, which are not ignored > because of the not matching '1000baseT' substring. > > Extend regex to match also substrings like '1000baseT'. [] > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl [] > @@ -5780,7 +5780,7 @@ sub process { > if ($var !~ /^$Constant$/ && > $var =~ /[A-Z][a-z]|[a-z][A-Z]/ && > #Ignore some autogenerated defines and enum values > - $var !~ /^(?:[A-Z]+_){1,5}[A-Z]{1,3}[a-z]/ && > + $var !~ /^(?:[A-Z]+_){1,5}([A-Z]{1,3}[a-z]|[0-9]+[a-z]+[A-Z])/ && NAK. This introduces an unnecessary capture group and as well it would also allow too many other variants that should get a warning. Try a git grep using that pattern and see if all the matches are actually what you want to allow $ git grep -Poh '\b(?:[A-Z]+_){1,5}([A-Z]{1,3}[a-z]|[0-9]+[a-z]+[A-Z])\w*\b' -- '*.[ch]' | \ sort | uniq -c | sort -rn ...
On 30.12.22 21:31, Joe Perches wrote: > On Fri, 2022-12-30 at 20:59 +0100, Gerhard Engleder wrote: >> Since commit 4104a20646 enum values like >> ETHTOOL_LINK_MODE_Asym_Pause_BIT are ignored. But there are other enums >> like ETHTOOL_LINK_MODE_1000baseT_Full_BIT, which are not ignored >> because of the not matching '1000baseT' substring. >> >> Extend regex to match also substrings like '1000baseT'. > [] >> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl > [] >> @@ -5780,7 +5780,7 @@ sub process { >> if ($var !~ /^$Constant$/ && >> $var =~ /[A-Z][a-z]|[a-z][A-Z]/ && >> #Ignore some autogenerated defines and enum values >> - $var !~ /^(?:[A-Z]+_){1,5}[A-Z]{1,3}[a-z]/ && >> + $var !~ /^(?:[A-Z]+_){1,5}([A-Z]{1,3}[a-z]|[0-9]+[a-z]+[A-Z])/ && > > NAK. > > This introduces an unnecessary capture group and as well it would also > allow too many other variants that should get a warning. A more exact link mode regex [0-9]+base[A-Z0-9]+_(Half|Full) would eliminate unwanted matches. Shall I extend the existing regex or would a separate regex with comment be the better choice? Gerhard
On Fri, 2022-12-30 at 22:15 +0100, Gerhard Engleder wrote: > On 30.12.22 21:31, Joe Perches wrote: > > On Fri, 2022-12-30 at 20:59 +0100, Gerhard Engleder wrote: > > > Since commit 4104a20646 enum values like > > > ETHTOOL_LINK_MODE_Asym_Pause_BIT are ignored. But there are other enums > > > like ETHTOOL_LINK_MODE_1000baseT_Full_BIT, which are not ignored > > > because of the not matching '1000baseT' substring. > > > > > > Extend regex to match also substrings like '1000baseT'. > > [] > > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl > > [] > > > @@ -5780,7 +5780,7 @@ sub process { > > > if ($var !~ /^$Constant$/ && > > > $var =~ /[A-Z][a-z]|[a-z][A-Z]/ && > > > #Ignore some autogenerated defines and enum values > > > - $var !~ /^(?:[A-Z]+_){1,5}[A-Z]{1,3}[a-z]/ && > > > + $var !~ /^(?:[A-Z]+_){1,5}([A-Z]{1,3}[a-z]|[0-9]+[a-z]+[A-Z])/ && > > > > NAK. > > > > This introduces an unnecessary capture group and as well it would also > > allow too many other variants that should get a warning. > > A more exact link mode regex [0-9]+base[A-Z0-9]+_(Half|Full) would > eliminate unwanted matches. Shall I extend the existing regex or > would a separate regex with comment be the better choice? Maybe $var !~ /^ETHTOOL_/
© 2016 - 2025 Red Hat, Inc.