Loading scripts/checkpatch.pl +34 −10 Original line number Diff line number Diff line Loading @@ -397,6 +397,11 @@ foreach my $entry (@mode_permission_funcs) { $mode_perms_search .= $entry->[0]; } our $declaration_macros = qr{(?x: (?:$Storage\s+)?(?:DECLARE|DEFINE)_[A-Z]+\s*\(| (?:$Storage\s+)?LIST_HEAD\s*\( )}; our $allowed_asm_includes = qr{(?x: irq| memory Loading Loading @@ -2268,18 +2273,37 @@ sub process { } # 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 if ($sline =~ /^\+\s+\S/ && #Not at char 1 # actual declarations ($prevline =~ /^\+\s+$Declare\s*$Ident\s*[=,;:\[]/ || # foo bar; where foo is some local typedef or #define $prevline =~ /^\+\s+$Ident(?:\s+|\s*\*\s*)$Ident\s*[=,;\[]/ || # known declaration macros $prevline =~ /^\+\s+$declaration_macros/) && # for "else if" which can look like "$Ident $Ident" !($prevline =~ /^\+\s+$c90_Keywords\b/ || # other possible extensions of declaration lines $prevline =~ /(?:$Compare|$Assignment|$Operators)\s*$/ || # not starting a section or a macro "\" extended line $prevline =~ /(?:\{\s*|\\)$/) && # looks like a declaration !($sline =~ /^\+\s+$Declare\s*$Ident\s*[=,;:\[]/ || # foo bar; where foo is some local typedef or #define $sline =~ /^\+\s+$Ident(?:\s+|\s*\*\s*)$Ident\s*[=,;\[]/ || # known declaration macros $sline =~ /^\+\s+$declaration_macros/ || # start of struct or union or enum $sline =~ /^\+\s+(?:union|struct|enum|typedef)\b/ || $sline =~ /^\+\s+(?:$|[\{\}\.\#\"\?\:\(])/ || $sline =~ /^\+\s+\(?\s*(?:$Compare|$Assignment|$Operators)/)) { # start or end of block or continuation of declaration $sline =~ /^\+\s+(?:$|[\{\}\.\#\"\?\:\(\[])/ || # bitfield continuation $sline =~ /^\+\s+$Ident\s*:\s*\d+\s*[,;]/ || # other possible extensions of declaration lines $sline =~ /^\+\s+\(?\s*(?:$Compare|$Assignment|$Operators)/) && # indentation of previous and current line are the same (($prevline =~ /\+(\s+)\S/) && $sline =~ /^\+$1\S/)) { WARN("SPACING", "networking uses a blank line after declarations\n" . $hereprev); "Missing a blank line after declarations\n" . $hereprev); } # check for spaces at the beginning of a line. Loading Loading
scripts/checkpatch.pl +34 −10 Original line number Diff line number Diff line Loading @@ -397,6 +397,11 @@ foreach my $entry (@mode_permission_funcs) { $mode_perms_search .= $entry->[0]; } our $declaration_macros = qr{(?x: (?:$Storage\s+)?(?:DECLARE|DEFINE)_[A-Z]+\s*\(| (?:$Storage\s+)?LIST_HEAD\s*\( )}; our $allowed_asm_includes = qr{(?x: irq| memory Loading Loading @@ -2268,18 +2273,37 @@ sub process { } # 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 if ($sline =~ /^\+\s+\S/ && #Not at char 1 # actual declarations ($prevline =~ /^\+\s+$Declare\s*$Ident\s*[=,;:\[]/ || # foo bar; where foo is some local typedef or #define $prevline =~ /^\+\s+$Ident(?:\s+|\s*\*\s*)$Ident\s*[=,;\[]/ || # known declaration macros $prevline =~ /^\+\s+$declaration_macros/) && # for "else if" which can look like "$Ident $Ident" !($prevline =~ /^\+\s+$c90_Keywords\b/ || # other possible extensions of declaration lines $prevline =~ /(?:$Compare|$Assignment|$Operators)\s*$/ || # not starting a section or a macro "\" extended line $prevline =~ /(?:\{\s*|\\)$/) && # looks like a declaration !($sline =~ /^\+\s+$Declare\s*$Ident\s*[=,;:\[]/ || # foo bar; where foo is some local typedef or #define $sline =~ /^\+\s+$Ident(?:\s+|\s*\*\s*)$Ident\s*[=,;\[]/ || # known declaration macros $sline =~ /^\+\s+$declaration_macros/ || # start of struct or union or enum $sline =~ /^\+\s+(?:union|struct|enum|typedef)\b/ || $sline =~ /^\+\s+(?:$|[\{\}\.\#\"\?\:\(])/ || $sline =~ /^\+\s+\(?\s*(?:$Compare|$Assignment|$Operators)/)) { # start or end of block or continuation of declaration $sline =~ /^\+\s+(?:$|[\{\}\.\#\"\?\:\(\[])/ || # bitfield continuation $sline =~ /^\+\s+$Ident\s*:\s*\d+\s*[,;]/ || # other possible extensions of declaration lines $sline =~ /^\+\s+\(?\s*(?:$Compare|$Assignment|$Operators)/) && # indentation of previous and current line are the same (($prevline =~ /\+(\s+)\S/) && $sline =~ /^\+$1\S/)) { WARN("SPACING", "networking uses a blank line after declarations\n" . $hereprev); "Missing a blank line after declarations\n" . $hereprev); } # check for spaces at the beginning of a line. Loading