diff options
| author | Joe Perches <joe@perches.com> | 2013-09-11 17:23:54 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-11 18:58:39 -0400 |
| commit | d5e616fc1c1dd673c53b682877e2d35a2862263c (patch) | |
| tree | c1eec612d62f6c6d6ade9a843f89ff34ad94fab4 /scripts | |
| parent | 1431574a1c4c669a0c198e4763627837416e4443 (diff) | |
checkpatch: add a few more --fix corrections
Suggest a few more single-line corrections.
Remove DOS line endings
Simplify removing trailing whitespace
Remove global/static initializations to 0/NULL
Convert pr_warning to pr_warn
Add space after brace
Convert binary constants to hex
Remove whitespace after line continuation
Use inline not __inline or __inline__
Use __printf and __scanf
Use a single ; for statement terminations
Convert __FUNCTION__ to __func__
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/checkpatch.pl | 122 |
1 files changed, 84 insertions, 38 deletions
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 2ee9eb750560..9163651edc50 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl | |||
| @@ -1845,15 +1845,17 @@ sub process { | |||
| 1845 | #trailing whitespace | 1845 | #trailing whitespace |
| 1846 | if ($line =~ /^\+.*\015/) { | 1846 | if ($line =~ /^\+.*\015/) { |
| 1847 | my $herevet = "$here\n" . cat_vet($rawline) . "\n"; | 1847 | my $herevet = "$here\n" . cat_vet($rawline) . "\n"; |
| 1848 | ERROR("DOS_LINE_ENDINGS", | 1848 | if (ERROR("DOS_LINE_ENDINGS", |
| 1849 | "DOS line endings\n" . $herevet); | 1849 | "DOS line endings\n" . $herevet) && |
| 1850 | 1850 | $fix) { | |
| 1851 | $fixed[$linenr - 1] =~ s/[\s\015]+$//; | ||
| 1852 | } | ||
| 1851 | } elsif ($rawline =~ /^\+.*\S\s+$/ || $rawline =~ /^\+\s+$/) { | 1853 | } elsif ($rawline =~ /^\+.*\S\s+$/ || $rawline =~ /^\+\s+$/) { |
| 1852 | my $herevet = "$here\n" . cat_vet($rawline) . "\n"; | 1854 | my $herevet = "$here\n" . cat_vet($rawline) . "\n"; |
| 1853 | if (ERROR("TRAILING_WHITESPACE", | 1855 | if (ERROR("TRAILING_WHITESPACE", |
| 1854 | "trailing whitespace\n" . $herevet) && | 1856 | "trailing whitespace\n" . $herevet) && |
| 1855 | $fix) { | 1857 | $fix) { |
| 1856 | $fixed[$linenr - 1] =~ s/^(\+.*?)\s+$/$1/; | 1858 | $fixed[$linenr - 1] =~ s/\s+$//; |
| 1857 | } | 1859 | } |
| 1858 | 1860 | ||
| 1859 | $rpt_cleaners = 1; | 1861 | $rpt_cleaners = 1; |
| @@ -2486,16 +2488,22 @@ sub process { | |||
| 2486 | } | 2488 | } |
| 2487 | 2489 | ||
| 2488 | # check for global initialisers. | 2490 | # check for global initialisers. |
| 2489 | if ($line =~ /^.$Type\s*$Ident\s*(?:\s+$Modifier)*\s*=\s*(0|NULL|false)\s*;/) { | 2491 | if ($line =~ /^\+(\s*$Type\s*$Ident\s*(?:\s+$Modifier))*\s*=\s*(0|NULL|false)\s*;/) { |
| 2490 | ERROR("GLOBAL_INITIALISERS", | 2492 | if (ERROR("GLOBAL_INITIALISERS", |
| 2491 | "do not initialise globals to 0 or NULL\n" . | 2493 | "do not initialise globals to 0 or NULL\n" . |
| 2492 | $herecurr); | 2494 | $herecurr) && |
| 2495 | $fix) { | ||
| 2496 | $fixed[$linenr - 1] =~ s/($Type\s*$Ident\s*(?:\s+$Modifier))*\s*=\s*(0|NULL|false)\s*;/$1;/; | ||
| 2497 | } | ||
| 2493 | } | 2498 | } |
| 2494 | # check for static initialisers. | 2499 | # check for static initialisers. |
| 2495 | if ($line =~ /\bstatic\s.*=\s*(0|NULL|false)\s*;/) { | 2500 | if ($line =~ /^\+.*\bstatic\s.*=\s*(0|NULL|false)\s*;/) { |
| 2496 | ERROR("INITIALISED_STATIC", | 2501 | if (ERROR("INITIALISED_STATIC", |
| 2497 | "do not initialise statics to 0 or NULL\n" . | 2502 | "do not initialise statics to 0 or NULL\n" . |
| 2498 | $herecurr); | 2503 | $herecurr) && |
| 2504 | $fix) { | ||
| 2505 | $fixed[$linenr - 1] =~ s/(\bstatic\s.*?)\s*=\s*(0|NULL|false)\s*;/$1;/; | ||
| 2506 | } | ||
| 2499 | } | 2507 | } |
| 2500 | 2508 | ||
| 2501 | # check for static const char * arrays. | 2509 | # check for static const char * arrays. |
| @@ -2638,8 +2646,12 @@ sub process { | |||
| 2638 | } | 2646 | } |
| 2639 | 2647 | ||
| 2640 | if ($line =~ /\bpr_warning\s*\(/) { | 2648 | if ($line =~ /\bpr_warning\s*\(/) { |
| 2641 | WARN("PREFER_PR_LEVEL", | 2649 | if (WARN("PREFER_PR_LEVEL", |
| 2642 | "Prefer pr_warn(... to pr_warning(...\n" . $herecurr); | 2650 | "Prefer pr_warn(... to pr_warning(...\n" . $herecurr) && |
| 2651 | $fix) { | ||
| 2652 | $fixed[$linenr - 1] =~ | ||
| 2653 | s/\bpr_warning\b/pr_warn/; | ||
| 2654 | } | ||
| 2643 | } | 2655 | } |
| 2644 | 2656 | ||
| 2645 | if ($line =~ /\bdev_printk\s*\(\s*KERN_([A-Z]+)/) { | 2657 | if ($line =~ /\bdev_printk\s*\(\s*KERN_([A-Z]+)/) { |
| @@ -3031,8 +3043,7 @@ sub process { | |||
| 3031 | if (ERROR("SPACING", | 3043 | if (ERROR("SPACING", |
| 3032 | "space required before the open brace '{'\n" . $herecurr) && | 3044 | "space required before the open brace '{'\n" . $herecurr) && |
| 3033 | $fix) { | 3045 | $fix) { |
| 3034 | $fixed[$linenr - 1] =~ | 3046 | $fixed[$linenr - 1] =~ s/^(\+.*(?:do|\))){/$1 {/; |
| 3035 | s/^(\+.*(?:do|\))){/$1 {/; | ||
| 3036 | } | 3047 | } |
| 3037 | } | 3048 | } |
| 3038 | 3049 | ||
| @@ -3047,8 +3058,12 @@ sub process { | |||
| 3047 | # closing brace should have a space following it when it has anything | 3058 | # closing brace should have a space following it when it has anything |
| 3048 | # on the line | 3059 | # on the line |
| 3049 | if ($line =~ /}(?!(?:,|;|\)))\S/) { | 3060 | if ($line =~ /}(?!(?:,|;|\)))\S/) { |
| 3050 | ERROR("SPACING", | 3061 | if (ERROR("SPACING", |
| 3051 | "space required after that close brace '}'\n" . $herecurr); | 3062 | "space required after that close brace '}'\n" . $herecurr) && |
| 3063 | $fix) { | ||
| 3064 | $fixed[$linenr - 1] =~ | ||
| 3065 | s/}((?!(?:,|;|\)))\S)/} $1/; | ||
| 3066 | } | ||
| 3052 | } | 3067 | } |
| 3053 | 3068 | ||
| 3054 | # check spacing on square brackets | 3069 | # check spacing on square brackets |
| @@ -3271,8 +3286,13 @@ sub process { | |||
| 3271 | 3286 | ||
| 3272 | #gcc binary extension | 3287 | #gcc binary extension |
| 3273 | if ($var =~ /^$Binary$/) { | 3288 | if ($var =~ /^$Binary$/) { |
| 3274 | WARN("GCC_BINARY_CONSTANT", | 3289 | if (WARN("GCC_BINARY_CONSTANT", |
| 3275 | "Avoid gcc v4.3+ binary constant extension: <$var>\n" . $herecurr); | 3290 | "Avoid gcc v4.3+ binary constant extension: <$var>\n" . $herecurr) && |
| 3291 | $fix) { | ||
| 3292 | my $hexval = sprintf("0x%x", oct($var)); | ||
| 3293 | $fixed[$linenr - 1] =~ | ||
| 3294 | s/\b$var\b/$hexval/; | ||
| 3295 | } | ||
| 3276 | } | 3296 | } |
| 3277 | 3297 | ||
| 3278 | #CamelCase | 3298 | #CamelCase |
| @@ -3292,9 +3312,12 @@ sub process { | |||
| 3292 | } | 3312 | } |
| 3293 | 3313 | ||
| 3294 | #no spaces allowed after \ in define | 3314 | #no spaces allowed after \ in define |
| 3295 | if ($line=~/\#\s*define.*\\\s$/) { | 3315 | if ($line =~ /\#\s*define.*\\\s+$/) { |
| 3296 | WARN("WHITESPACE_AFTER_LINE_CONTINUATION", | 3316 | if (WARN("WHITESPACE_AFTER_LINE_CONTINUATION", |
| 3297 | "Whitepspace after \\ makes next lines useless\n" . $herecurr); | 3317 | "Whitespace after \\ makes next lines useless\n" . $herecurr) && |
| 3318 | $fix) { | ||
| 3319 | $fixed[$linenr - 1] =~ s/\s+$//; | ||
| 3320 | } | ||
| 3298 | } | 3321 | } |
| 3299 | 3322 | ||
| 3300 | #warn if <asm/foo.h> is #included and <linux/foo.h> is available (uses RAW line) | 3323 | #warn if <asm/foo.h> is #included and <linux/foo.h> is available (uses RAW line) |
| @@ -3691,8 +3714,12 @@ sub process { | |||
| 3691 | 3714 | ||
| 3692 | # Check for __inline__ and __inline, prefer inline | 3715 | # Check for __inline__ and __inline, prefer inline |
| 3693 | if ($line =~ /\b(__inline__|__inline)\b/) { | 3716 | if ($line =~ /\b(__inline__|__inline)\b/) { |
| 3694 | WARN("INLINE", | 3717 | if (WARN("INLINE", |
| 3695 | "plain inline is preferred over $1\n" . $herecurr); | 3718 | "plain inline is preferred over $1\n" . $herecurr) && |
| 3719 | $fix) { | ||
| 3720 | $fixed[$linenr - 1] =~ s/\b(__inline__|__inline)\b/inline/; | ||
| 3721 | |||
| 3722 | } | ||
| 3696 | } | 3723 | } |
| 3697 | 3724 | ||
| 3698 | # Check for __attribute__ packed, prefer __packed | 3725 | # Check for __attribute__ packed, prefer __packed |
| @@ -3709,14 +3736,21 @@ sub process { | |||
| 3709 | 3736 | ||
| 3710 | # Check for __attribute__ format(printf, prefer __printf | 3737 | # Check for __attribute__ format(printf, prefer __printf |
| 3711 | if ($line =~ /\b__attribute__\s*\(\s*\(\s*format\s*\(\s*printf/) { | 3738 | if ($line =~ /\b__attribute__\s*\(\s*\(\s*format\s*\(\s*printf/) { |
| 3712 | WARN("PREFER_PRINTF", | 3739 | if (WARN("PREFER_PRINTF", |
| 3713 | "__printf(string-index, first-to-check) is preferred over __attribute__((format(printf, string-index, first-to-check)))\n" . $herecurr); | 3740 | "__printf(string-index, first-to-check) is preferred over __attribute__((format(printf, string-index, first-to-check)))\n" . $herecurr) && |
| 3741 | $fix) { | ||
| 3742 | $fixed[$linenr - 1] =~ s/\b__attribute__\s*\(\s*\(\s*format\s*\(\s*printf\s*,\s*(.*)\)\s*\)\s*\)/"__printf(" . trim($1) . ")"/ex; | ||
| 3743 | |||
| 3744 | } | ||
| 3714 | } | 3745 | } |
| 3715 | 3746 | ||
| 3716 | # Check for __attribute__ format(scanf, prefer __scanf | 3747 | # Check for __attribute__ format(scanf, prefer __scanf |
| 3717 | if ($line =~ /\b__attribute__\s*\(\s*\(\s*format\s*\(\s*scanf\b/) { | 3748 | if ($line =~ /\b__attribute__\s*\(\s*\(\s*format\s*\(\s*scanf\b/) { |
| 3718 | WARN("PREFER_SCANF", | 3749 | if (WARN("PREFER_SCANF", |
| 3719 | "__scanf(string-index, first-to-check) is preferred over __attribute__((format(scanf, string-index, first-to-check)))\n" . $herecurr); | 3750 | "__scanf(string-index, first-to-check) is preferred over __attribute__((format(scanf, string-index, first-to-check)))\n" . $herecurr) && |
| 3751 | $fix) { | ||
| 3752 | $fixed[$linenr - 1] =~ s/\b__attribute__\s*\(\s*\(\s*format\s*\(\s*scanf\s*,\s*(.*)\)\s*\)\s*\)/"__scanf(" . trim($1) . ")"/ex; | ||
| 3753 | } | ||
| 3720 | } | 3754 | } |
| 3721 | 3755 | ||
| 3722 | # check for sizeof(&) | 3756 | # check for sizeof(&) |
| @@ -3727,8 +3761,11 @@ sub process { | |||
| 3727 | 3761 | ||
| 3728 | # check for sizeof without parenthesis | 3762 | # check for sizeof without parenthesis |
| 3729 | if ($line =~ /\bsizeof\s+((?:\*\s*|)$Lval|$Type(?:\s+$Lval|))/) { | 3763 | if ($line =~ /\bsizeof\s+((?:\*\s*|)$Lval|$Type(?:\s+$Lval|))/) { |
| 3730 | WARN("SIZEOF_PARENTHESIS", | 3764 | if (WARN("SIZEOF_PARENTHESIS", |
| 3731 | "sizeof $1 should be sizeof($1)\n" . $herecurr); | 3765 | "sizeof $1 should be sizeof($1)\n" . $herecurr) && |
| 3766 | $fix) { | ||
| 3767 | $fixed[$linenr - 1] =~ s/\bsizeof\s+((?:\*\s*|)$Lval|$Type(?:\s+$Lval|))/"sizeof(" . trim($1) . ")"/ex; | ||
| 3768 | } | ||
| 3732 | } | 3769 | } |
| 3733 | 3770 | ||
| 3734 | # check for line continuations in quoted strings with odd counts of " | 3771 | # check for line continuations in quoted strings with odd counts of " |
| @@ -3747,8 +3784,11 @@ sub process { | |||
| 3747 | if ($line =~ /\bseq_printf\s*\(/) { | 3784 | if ($line =~ /\bseq_printf\s*\(/) { |
| 3748 | my $fmt = get_quoted_string($line, $rawline); | 3785 | my $fmt = get_quoted_string($line, $rawline); |
| 3749 | if ($fmt !~ /[^\\]\%/) { | 3786 | if ($fmt !~ /[^\\]\%/) { |
| 3750 | WARN("PREFER_SEQ_PUTS", | 3787 | if (WARN("PREFER_SEQ_PUTS", |
| 3751 | "Prefer seq_puts to seq_printf\n" . $herecurr); | 3788 | "Prefer seq_puts to seq_printf\n" . $herecurr) && |
| 3789 | $fix) { | ||
| 3790 | $fixed[$linenr - 1] =~ s/\bseq_printf\b/seq_puts/; | ||
| 3791 | } | ||
| 3752 | } | 3792 | } |
| 3753 | } | 3793 | } |
| 3754 | 3794 | ||
| @@ -3879,8 +3919,11 @@ sub process { | |||
| 3879 | 3919 | ||
| 3880 | # check for multiple semicolons | 3920 | # check for multiple semicolons |
| 3881 | if ($line =~ /;\s*;\s*$/) { | 3921 | if ($line =~ /;\s*;\s*$/) { |
| 3882 | WARN("ONE_SEMICOLON", | 3922 | if (WARN("ONE_SEMICOLON", |
| 3883 | "Statements terminations use 1 semicolon\n" . $herecurr); | 3923 | "Statements terminations use 1 semicolon\n" . $herecurr) && |
| 3924 | $fix) { | ||
| 3925 | $fixed[$linenr - 1] =~ s/(\s*;\s*){2,}$/;/g; | ||
| 3926 | } | ||
| 3884 | } | 3927 | } |
| 3885 | 3928 | ||
| 3886 | # check for switch/default statements without a break; | 3929 | # check for switch/default statements without a break; |
| @@ -3898,9 +3941,12 @@ sub process { | |||
| 3898 | } | 3941 | } |
| 3899 | 3942 | ||
| 3900 | # check for gcc specific __FUNCTION__ | 3943 | # check for gcc specific __FUNCTION__ |
| 3901 | if ($line =~ /__FUNCTION__/) { | 3944 | if ($line =~ /\b__FUNCTION__\b/) { |
| 3902 | WARN("USE_FUNC", | 3945 | if (WARN("USE_FUNC", |
| 3903 | "__func__ should be used instead of gcc specific __FUNCTION__\n" . $herecurr); | 3946 | "__func__ should be used instead of gcc specific __FUNCTION__\n" . $herecurr) && |
| 3947 | $fix) { | ||
| 3948 | $fixed[$linenr - 1] =~ s/\b__FUNCTION__\b/__func__/g; | ||
| 3949 | } | ||
| 3904 | } | 3950 | } |
| 3905 | 3951 | ||
| 3906 | # check for use of yield() | 3952 | # check for use of yield() |
