Messages in this thread Patch in this message | | | Subject | [PATCH] checkpatch: net and drivers/net: Warn on missing blank line after variable declaration | From | Joe Perches <> | Date | Thu, 06 Mar 2014 15:28:40 -0800 |
| |
Networking prefers this style, so warn when it's not used.
Networking uses:
void foo(int bar) { int baz;
code... }
not
void foo(int bar) { int baz; code... }
There are a limited number of false positives when using macros to declare variables like:
WARNING: networking uses a blank line after declarations #330: FILE: net/ipv4/inet_hashtables.c:330: + int dif = sk->sk_bound_dev_if; + INET_ADDR_COOKIE(acookie, saddr, daddr)
Signed-off-by: Joe Perches <joe@perches.com> --- scripts/checkpatch.pl | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 3d3ef2f..a6e3048 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -2248,6 +2248,21 @@ sub process { "networking block comments put the trailing */ on a separate line\n" . $herecurr); } +# check for missing blank lines after declarations + if ($realfile =~ m@^(drivers/net/|net/)@ && + $prevline =~ /^\+\s+$Declare\s+$Ident/ && + !($prevline =~ /(?:$Compare|$Assignment|$Operators)\s*$/ || + $prevline =~ /(?:\{\s*|\\)$/) && #extended lines + $sline =~ /^\+\s+/ && #Not at char 1 + !($sline =~ /^\+\s+$Declare/ || + $sline =~ /^\+\s+$Ident\s+$Ident/ || #eg: typedef foo + $sline =~ /^\+\s+(?:union|struct|enum|typedef)\b/ || + $sline =~ /^\+\s+(?:$|[\{\}\.\#\"\?\:\(])/ || + $sline =~ /^\+\s+\(?\s*(?:$Compare|$Assignment|$Operators)/)) { + WARN("SPACING", + "networking uses a blank line after declarations\n" . $hereprev); + } + # check for spaces at the beginning of a line. # Exceptions: # 1) within comments
| |