]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
checkpatch: extend CamelCase types and ignore existing CamelCase uses in a patch
authorJoe Perches <joe@perches.com>
Tue, 5 Nov 2013 05:56:53 +0000 (16:56 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Tue, 5 Nov 2013 05:56:53 +0000 (16:56 +1100)
Extend the CamelCase words found to include structure members.

In https://lkml.org/lkml/2013/9/3/318 Sarah Sharp (mostly) wrote:

"In general, if checkpatch.pl complains about a variable a patch
introduces that's CamelCase, you should pay attention to it.  Otherwise,
[] ignore it."

So, if checking a patch, scan the original patched file if it's available
and add any preexisting CamelCase types so reuses do not generate
CamelCase messages.

That also means Andrew's not so cruelly spurned anymore.
https://lkml.org/lkml/2013/2/22/426

Signed-off-by: Joe Perches <joe@perches.com>
Suggested-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Suggested-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
scripts/checkpatch.pl

index 42103a0cdbc06b446decb8a2db56c6829b3fa27d..c03e4278b07c2af8dc51df8d95b69b4ac425a76f 100755 (executable)
@@ -443,7 +443,7 @@ sub seed_camelcase_file {
                if ($line =~ /^[ \t]*(?:#[ \t]*define|typedef\s+$Type)\s+(\w*(?:[A-Z][a-z]|[a-z][A-Z])\w*)/) {
                        $camelcase{$1} = 1;
                }
-               elsif ($line =~ /^\s*$Declare\s+(\w*(?:[A-Z][a-z]|[a-z][A-Z])\w*)\s*\(/) {
+               elsif ($line =~ /^\s*$Declare\s+(\w*(?:[A-Z][a-z]|[a-z][A-Z])\w*)\s*[\(\[,;]/) {
                        $camelcase{$1} = 1;
                }
        }
@@ -1612,6 +1612,8 @@ sub process {
        my @setup_docs = ();
        my $setup_docs = 0;
 
+       my $camelcase_file_seeded = 0;
+
        sanitise_line_reset();
        my $line;
        foreach my $rawline (@rawlines) {
@@ -3394,7 +3396,13 @@ sub process {
                                while ($var =~ m{($Ident)}g) {
                                        my $word = $1;
                                        next if ($word !~ /[A-Z][a-z]|[a-z][A-Z]/);
-                                       seed_camelcase_includes() if ($check);
+                                       if ($check) {
+                                               seed_camelcase_includes();
+                                               if (!$file && !$camelcase_file_seeded) {
+                                                       seed_camelcase_file($realfile);
+                                                       $camelcase_file_seeded = 1;
+                                               }
+                                       }
                                        if (!defined $camelcase{$word}) {
                                                $camelcase{$word} = 1;
                                                CHK("CAMELCASE",