From 01cf43aab9176f76d46b515134e8a7f3dddd416f Mon Sep 17 00:00:00 2001 From: Antonio Borneo Date: Tue, 30 Aug 2022 15:28:56 +0200 Subject: [PATCH] checkpatch: extend check for camel[0-9_]*CASE Linux has some automatically generated macros that can trigger camelCASE check. This forces checkpatch to only detect the pattern [A-Z][a-z]|[a-z][A-Z] for adjacent case transition. In OpenOCD we do not have such case, so extend the check to [A-Z][0-9_]*[a-z]|[a-z][0-9_]*[A-Z] and remove the detection of Linux special cases. Change-Id: I82cb6dc668edbb093f68991337da1f4b933f1fac Signed-off-by: Antonio Borneo Reviewed-on: https://review.openocd.org/c/openocd/+/7152 Tested-by: jenkins --- tools/scripts/checkpatch.pl | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tools/scripts/checkpatch.pl b/tools/scripts/checkpatch.pl index 0319d43d5..dc01effb4 100755 --- a/tools/scripts/checkpatch.pl +++ b/tools/scripts/checkpatch.pl @@ -1130,6 +1130,7 @@ sub seed_camelcase_file { my @lines = split('\n', $text); foreach my $line (@lines) { + if (!$OpenOCD) { next if ($line !~ /(?:[A-Z][a-z]|[a-z][A-Z])/); if ($line =~ /^[ \t]*(?:#[ \t]*define|typedef\s+$Type)\s+(\w*(?:[A-Z][a-z]|[a-z][A-Z])\w*)/) { $camelcase{$1} = 1; @@ -1138,6 +1139,17 @@ sub seed_camelcase_file { } elsif ($line =~ /^\s*(?:union|struct|enum)\s+(\w*(?:[A-Z][a-z]|[a-z][A-Z])\w*)\s*[;\{]/) { $camelcase{$1} = 1; } + } # !$OpenOCD + # OpenOCD Specific: Begin: extend to camel[0-9_]*CASE + next if ($line !~ /(?:[A-Z][0-9_]*[a-z]|[a-z][0-9_]*[A-Z])/); + if ($line =~ /^[ \t]*(?:#[ \t]*define|typedef\s+$Type)\s+(\w*(?:[A-Z][0-9_]*[a-z]|[a-z][0-9_]*[A-Z])\w*)/) { + $camelcase{$1} = 1; + } elsif ($line =~ /^\s*$Declare\s+(\w*(?:[A-Z][0-9_]*[a-z]|[a-z][0-9_]*[A-Z])\w*)\s*[\(\[,;]/) { + $camelcase{$1} = 1; + } elsif ($line =~ /^\s*(?:union|struct|enum)\s+(\w*(?:[A-Z][0-9_]*[a-z]|[a-z][0-9_]*[A-Z])\w*)\s*[;\{]/) { + $camelcase{$1} = 1; + } + # OpenOCD Specific: End } } @@ -5798,6 +5810,7 @@ sub process { my $var = $1; #CamelCase + if (!$OpenOCD) { if ($var !~ /^$Constant$/ && $var =~ /[A-Z][a-z]|[a-z][A-Z]/ && #Ignore some autogenerated defines and enum values @@ -5809,9 +5822,20 @@ sub process { $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_]+)?$/) { + } + } # !$OpenOCD + # OpenOCD Specific: Begin: remove Linux exceptions, extend to camel[0-9_]*CASE + if ($var !~ /^$Constant$/ && + $var =~ /[A-Z][0-9_]*[a-z]|[a-z][0-9_]*[A-Z]/) { + # OpenOCD Specific: End while ($var =~ m{\b($Ident)}g) { my $word = $1; + if (!$OpenOCD) { next if ($word !~ /[A-Z][a-z]|[a-z][A-Z]/); + } # !$OpenOCD + # OpenOCD Specific: Begin: extend to camel[0-9_]*CASE + next if ($word !~ /[A-Z][0-9_]*[a-z]|[a-z][0-9_]*[A-Z]/); + # OpenOCD Specific: End if (!$OpenOCD) { # This will not work for OpenOCD jenkins because it runs # checkpatch from a tree already patched. Any new camelcase -- 2.30.2