X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=tools%2Fscripts%2Fcheckpatch.pl;h=b3a085483bc1156c46590b059ae5113dedc93fef;hp=73cf240980703b71439862ed3a7652411d699574;hb=4525c0a4c4d0aaa199c37a6d2245617e8445f213;hpb=9ad57e96b3c15c3dfbaa908abc842f264648ab55 diff --git a/tools/scripts/checkpatch.pl b/tools/scripts/checkpatch.pl index 73cf240980..b3a085483b 100755 --- a/tools/scripts/checkpatch.pl +++ b/tools/scripts/checkpatch.pl @@ -43,7 +43,7 @@ Version: $V Options: -q, --quiet quiet - --no-tree run without a kernel tree + --no-tree run without a openocd tree --no-signoff do not check for 'Signed-off-by' line --patch treat FILE as patchfile (default) --emacs emacs compile window format @@ -52,7 +52,7 @@ Options: --subjective, --strict enable more subjective tests --ignore TYPE(,TYPE2...) ignore various comma separated message types --show-types show the message "types" in the output - --root=PATH PATH to the kernel tree root + --root=PATH PATH to the openocd tree root --no-summary suppress the per-file summary --mailback only produce a report in case of warnings/errors --summary-file include the filename in summary @@ -165,14 +165,14 @@ if ($tree) { } else { if (top_of_kernel_tree('.')) { $root = '.'; - } elsif ($0 =~ m@(.*)/scripts/[^/]*$@ && + } elsif ($0 =~ m@(.*)/tools/scripts/[^/]*$@ && top_of_kernel_tree($1)) { $root = $1; } } if (!defined $root) { - print "Must be run from the top-level dir. of a kernel tree\n"; + print "Must be run from the top-level dir. of a openocd tree\n"; exit(2); } } @@ -261,7 +261,8 @@ our $logFunctions = qr{(?x: [a-z0-9]+_(?:printk|emerg|alert|crit|err|warning|warn|notice|info|debug|dbg|vdbg|devel|cont|WARN)(?:_ratelimited|_once|)| WARN(?:_RATELIMIT|_ONCE|)| panic| - MODULE_[A-Z_]+ + MODULE_[A-Z_]+| + LOG_(?:DEBUG|INFO|WARNING|ERROR|USER|USER_N|OUTPUT)+ )}; our $signature_tags = qr{(?xi: @@ -400,9 +401,8 @@ sub top_of_kernel_tree { my ($root) = @_; my @tree_check = ( - "COPYING", "CREDITS", "Kbuild", "MAINTAINERS", "Makefile", - "README", "Documentation", "arch", "include", "drivers", - "fs", "init", "ipc", "kernel", "lib", "scripts", + "AUTHORS", "BUGS", "COPYING", "HACKING", "Makefile.am", + "README", "contrib", "doc", "src", "tcl", "testing", "tools", ); foreach my $check (@tree_check) { @@ -445,6 +445,8 @@ sub parse_email { $address = ""; $comment = ""; } + } elsif ($formatted_email eq "jenkins") { + $address = "jenkins" } $name =~ s/^\s+|\s+$//g; @@ -1629,6 +1631,14 @@ sub process { $rpt_cleaners = 1; } + if ($rawline =~ /\bwrite to the Free/i || + $rawline =~ /\b59\s+Temple\s+Pl/i || + $rawline =~ /\b51\s+Franklin\s+St/i) { + my $herevet = "$here\n" . cat_vet($rawline) . "\n"; + my $msg_type = \&ERROR; + ERROR("Do not include the paragraph about writing to the Free Software Foundation's mailing address from the sample GPL notice. The FSF has changed addresses in the past, and may do so again. Linux already includes a copy of the GPL.\n" . $herevet) + } + # check for Kconfig help text having a real description # Only applies when adding the entry originally, after that we do not have # sufficient context to determine whether it is indeed long enough. @@ -1664,15 +1674,15 @@ sub process { # check we are in a valid source file if not then ignore this hunk next if ($realfile !~ /\.(h|c|s|S|pl|sh)$/); -#100 column limit +#120 column limit if ($line =~ /^\+/ && $prevrawline !~ /\/\*\*/ && $rawline !~ /^.\s*\*\s*\@$Ident\s/ && !($line =~ /^\+\s*$logFunctions\s*\(\s*(?:(KERN_\S+\s*|[^"]*))?"[X\t]*"\s*(?:|,|\)\s*;)\s*$/ || $line =~ /^\+\s*"[^"]*"\s*(?:\s*|,|\)\s*;)\s*$/) && - $length > 100) + $length > 120) { WARN("LONG_LINE", - "line over 100 characters\n" . $herecurr); + "line over 120 characters\n" . $herecurr); } # check for spaces before a quoted newline @@ -1721,6 +1731,9 @@ sub process { "please, no space before tabs\n" . $herevet); } +# check we are in a valid C source file if not then ignore this hunk + next if ($realfile !~ /\.(h|c)$/); + # check for spaces at the beginning of a line. # Exceptions: # 1) within comments @@ -1732,9 +1745,6 @@ sub process { "please, no spaces at the start of a line\n" . $herevet); } -# check we are in a valid C source file if not then ignore this hunk - next if ($realfile !~ /\.(h|c)$/); - # check for RCS/CVS revision markers if ($rawline =~ /^\+.*\$(Revision|Log|Id)(?:\$|)/) { WARN("CVS_KEYWORD", @@ -3064,16 +3074,16 @@ sub process { } # Check for __attribute__ packed, prefer __packed - if ($line =~ /\b__attribute__\s*\(\s*\(.*\bpacked\b/) { - WARN("PREFER_PACKED", - "__packed is preferred over __attribute__((packed))\n" . $herecurr); - } +# if ($line =~ /\b__attribute__\s*\(\s*\(.*\bpacked\b/) { +# WARN("PREFER_PACKED", +# "__packed is preferred over __attribute__((packed))\n" . $herecurr); +# } # Check for __attribute__ aligned, prefer __aligned - if ($line =~ /\b__attribute__\s*\(\s*\(.*aligned/) { - WARN("PREFER_ALIGNED", - "__aligned(size) is preferred over __attribute__((aligned(size)))\n" . $herecurr); - } +# if ($line =~ /\b__attribute__\s*\(\s*\(.*aligned/) { +# WARN("PREFER_ALIGNED", +# "__aligned(size) is preferred over __attribute__((aligned(size)))\n" . $herecurr); +# } # check for sizeof(&) if ($line =~ /\bsizeof\s*\(\s*\&/) { @@ -3329,7 +3339,8 @@ sub process { $vname has style problems, please review. If any of these errors are false positives, please report -them to the maintainer, see CHECKPATCH in MAINTAINERS. +them to the openocd-devel mailing list or prepare a patch +and send it to Gerrit for review. EOM }