Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3b617e3b authored by Joe Perches's avatar Joe Perches Committed by Linus Torvalds
Browse files

checkpatch: net and drivers/net: warn on missing blank line after variable declaration



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: default avatarJoe Perches <joe@perches.com>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent cc93319b
Loading
Loading
Loading
Loading
+15 −0
Original line number Original line Diff line number Diff line
@@ -2257,6 +2257,21 @@ sub process {
			     "networking block comments put the trailing */ on a separate line\n" . $herecurr);
			     "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.
# check for spaces at the beginning of a line.
# Exceptions:
# Exceptions:
#  1) within comments
#  1) within comments