aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/checkpatch.pl
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@redhat.com>2012-10-09 18:35:22 -0400
committerJ. Bruce Fields <bfields@redhat.com>2012-10-09 18:35:22 -0400
commitf474af7051212b4efc8267583fad9c4ebf33ccff (patch)
tree1aa46ebc8065a341f247c2a2d9af2f624ad1d4f8 /scripts/checkpatch.pl
parent0d22f68f02c10d5d10ec5712917e5828b001a822 (diff)
parente3dd9a52cb5552c46c2a4ca7ccdfb4dab5c72457 (diff)
nfs: disintegrate UAPI for nfs
This is to complete part of the Userspace API (UAPI) disintegration for which the preparatory patches were pulled recently. After these patches, userspace headers will be segregated into: include/uapi/linux/.../foo.h for the userspace interface stuff, and: include/linux/.../foo.h for the strictly kernel internal stuff. Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'scripts/checkpatch.pl')
-rwxr-xr-xscripts/checkpatch.pl40
1 files changed, 33 insertions, 7 deletions
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 913d6bdfdda3..21a9f5de0a21 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -421,7 +421,7 @@ sub top_of_kernel_tree {
421 } 421 }
422 } 422 }
423 return 1; 423 return 1;
424 } 424}
425 425
426sub parse_email { 426sub parse_email {
427 my ($formatted_email) = @_; 427 my ($formatted_email) = @_;
@@ -1386,6 +1386,8 @@ sub process {
1386 my $in_header_lines = 1; 1386 my $in_header_lines = 1;
1387 my $in_commit_log = 0; #Scanning lines before patch 1387 my $in_commit_log = 0; #Scanning lines before patch
1388 1388
1389 my $non_utf8_charset = 0;
1390
1389 our @report = (); 1391 our @report = ();
1390 our $cnt_lines = 0; 1392 our $cnt_lines = 0;
1391 our $cnt_error = 0; 1393 our $cnt_error = 0;
@@ -1686,10 +1688,17 @@ sub process {
1686 $in_commit_log = 1; 1688 $in_commit_log = 1;
1687 } 1689 }
1688 1690
1689# Still not yet in a patch, check for any UTF-8 1691# Check if there is UTF-8 in a commit log when a mail header has explicitly
1690 if ($in_commit_log && $realfile =~ /^$/ && 1692# declined it, i.e defined some charset where it is missing.
1693 if ($in_header_lines &&
1694 $rawline =~ /^Content-Type:.+charset="(.+)".*$/ &&
1695 $1 !~ /utf-8/i) {
1696 $non_utf8_charset = 1;
1697 }
1698
1699 if ($in_commit_log && $non_utf8_charset && $realfile =~ /^$/ &&
1691 $rawline =~ /$NON_ASCII_UTF8/) { 1700 $rawline =~ /$NON_ASCII_UTF8/) {
1692 CHK("UTF8_BEFORE_PATCH", 1701 WARN("UTF8_BEFORE_PATCH",
1693 "8-bit UTF-8 used in possible commit log\n" . $herecurr); 1702 "8-bit UTF-8 used in possible commit log\n" . $herecurr);
1694 } 1703 }
1695 1704
@@ -1873,6 +1882,20 @@ sub process {
1873 "No space is necessary after a cast\n" . $hereprev); 1882 "No space is necessary after a cast\n" . $hereprev);
1874 } 1883 }
1875 1884
1885 if ($realfile =~ m@^(drivers/net/|net/)@ &&
1886 $rawline =~ /^\+[ \t]*\/\*[ \t]*$/ &&
1887 $prevrawline =~ /^\+[ \t]*$/) {
1888 WARN("NETWORKING_BLOCK_COMMENT_STYLE",
1889 "networking block comments don't use an empty /* line, use /* Comment...\n" . $hereprev);
1890 }
1891
1892 if ($realfile =~ m@^(drivers/net/|net/)@ &&
1893 $rawline !~ m@^\+[ \t]*(\/\*|\*\/)@ &&
1894 $rawline =~ m@^\+[ \t]*.+\*\/[ \t]*$@) {
1895 WARN("NETWORKING_BLOCK_COMMENT_STYLE",
1896 "networking block comments put the trailing */ on a separate line\n" . $herecurr);
1897 }
1898
1876# check for spaces at the beginning of a line. 1899# check for spaces at the beginning of a line.
1877# Exceptions: 1900# Exceptions:
1878# 1) within comments 1901# 1) within comments
@@ -2390,8 +2413,10 @@ sub process {
2390 my $orig = $1; 2413 my $orig = $1;
2391 my $level = lc($orig); 2414 my $level = lc($orig);
2392 $level = "warn" if ($level eq "warning"); 2415 $level = "warn" if ($level eq "warning");
2416 my $level2 = $level;
2417 $level2 = "dbg" if ($level eq "debug");
2393 WARN("PREFER_PR_LEVEL", 2418 WARN("PREFER_PR_LEVEL",
2394 "Prefer pr_$level(... to printk(KERN_$1, ...\n" . $herecurr); 2419 "Prefer netdev_$level2(netdev, ... then dev_$level2(dev, ... then pr_$level(... to printk(KERN_$orig ...\n" . $herecurr);
2395 } 2420 }
2396 2421
2397 if ($line =~ /\bpr_warning\s*\(/) { 2422 if ($line =~ /\bpr_warning\s*\(/) {
@@ -2947,7 +2972,7 @@ sub process {
2947 my $exceptions = qr{ 2972 my $exceptions = qr{
2948 $Declare| 2973 $Declare|
2949 module_param_named| 2974 module_param_named|
2950 MODULE_PARAM_DESC| 2975 MODULE_PARM_DESC|
2951 DECLARE_PER_CPU| 2976 DECLARE_PER_CPU|
2952 DEFINE_PER_CPU| 2977 DEFINE_PER_CPU|
2953 __typeof__\(| 2978 __typeof__\(|
@@ -3016,7 +3041,8 @@ sub process {
3016 $herectx .= raw_line($linenr, $n) . "\n"; 3041 $herectx .= raw_line($linenr, $n) . "\n";
3017 } 3042 }
3018 3043
3019 if (($stmts =~ tr/;/;/) == 1) { 3044 if (($stmts =~ tr/;/;/) == 1 &&
3045 $stmts !~ /^\s*(if|while|for|switch)\b/) {
3020 WARN("SINGLE_STATEMENT_DO_WHILE_MACRO", 3046 WARN("SINGLE_STATEMENT_DO_WHILE_MACRO",
3021 "Single statement macros should not use a do {} while (0) loop\n" . "$herectx"); 3047 "Single statement macros should not use a do {} while (0) loop\n" . "$herectx");
3022 } 3048 }