mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Joe Perches <joe@perches.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: LKML <linux-kernel@vger.kernel.org>
Subject: [PATCH V2] checkpatch: Add test for blank lines after function/struct/union/enum declarations
Date: Wed, 25 Jun 2014 16:40:57 -0700	[thread overview]
Message-ID: <1403739657.24788.20.camel@joe-AO725> (raw)
In-Reply-To: <20140625123523.b00c71c3a3f0a9129f9e6f3d@linux-foundation.org>

Add a --strict test asking for a blank line after
function/struct/union/enum declarations.

Allow exceptions for several attributes and macro uses.

Signed-off-by: Joe Perches <joe@perches.com>
---
V2: Fix a problem with patch context lines by checking
    the line after the closing brace is an insertion.

 scripts/checkpatch.pl | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 538105a..d56ad2a 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2291,6 +2291,22 @@ sub process {
 			     "networking block comments put the trailing */ on a separate line\n" . $herecurr);
 		}
 
+# check for missing blank lines after struct/union declarations
+# with exceptions for various attributes and macros
+		if ($prevline =~ /^[\+ ]};?\s*$/ &&
+		    $line =~ /^\+/ &&
+		    !($line =~ /^\+\s*$/ ||
+		      $line =~ /^\+\s*EXPORT_SYMBOL/ ||
+		      $line =~ /^\+\s*MODULE_/i ||
+		      $line =~ /^\+\s*\#\s*(?:end|elif|else)/ ||
+		      $line =~ /^\+[a-z_]*init/ ||
+		      $line =~ /^\+\s*(?:static\s+)?[A-Z_]*ATTR/ ||
+		      $line =~ /^\+\s*DECLARE/ ||
+		      $line =~ /^\+\s*__setup/)) {
+			CHK("LINE_SPACING",
+			    "Please use a blank line after function/struct/union/enum declarations\n" . $hereprev);
+		}
+
 # check for missing blank lines after declarations
 		if ($sline =~ /^\+\s+\S/ &&			#Not at char 1
 			# actual declarations




  parent reply	other threads:[~2014-06-25 23:41 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-23 13:41 [PATCH 00/22] Add and use pci_zalloc_consistent Joe Perches
2014-06-23 13:41 ` [PATCH 01/22] pci-dma-compat: Add pci_zalloc_consistent helper Joe Perches
2014-06-23 13:53   ` Arnd Bergmann
2014-06-23 14:03     ` Joe Perches
2014-06-25 19:27   ` Andrew Morton
2014-06-25 21:51     ` Joe Perches
2014-06-25 21:57       ` Andrew Morton
2014-06-25 22:14         ` Joe Perches
2014-06-25 22:31       ` David Miller
2014-06-23 13:41 ` [PATCH 02/22] atm: Use pci_zalloc_consistent Joe Perches
2014-06-23 13:41 ` [PATCH 03/22] block: " Joe Perches
2014-06-23 13:41 ` [PATCH 04/22] crypto: " Joe Perches
2014-06-23 13:41 ` [PATCH 05/22] infiniband: " Joe Perches
2014-06-23 13:57   ` Steve Wise
2014-06-23 13:41 ` [PATCH 06/22] i810: " Joe Perches
2014-07-08 10:13   ` Daniel Vetter
2014-06-23 13:41 ` [PATCH 07/22] media: " Joe Perches
2014-06-27  8:20   ` Hans Verkuil
2014-06-27 10:55     ` Mauro Carvalho Chehab
2014-06-23 13:41 ` [PATCH 08/22] amd: " Joe Perches
2014-06-23 18:02   ` Don Fry
2014-06-23 19:15     ` Joe Perches
2014-06-23 21:05       ` [PATCH V2 " Joe Perches
2014-06-23 21:36         ` [PATCH] amd: Neaten and remove unnecessary OOM messages Joe Perches
2014-06-23 22:42           ` Don Fry
2014-06-25 23:32           ` David Miller
     [not found]           ` <20140625123523.b00c71c3a3f0a9129f9e6f3d@linux-foundation.org>
2014-06-25 23:40             ` Joe Perches [this message]
2014-06-23 22:22         ` [PATCH V2 08/22] amd: Use pci_zalloc_consistent Don Fry
2014-06-25  4:49         ` Guenter Roeck
2014-06-25  4:59           ` Joe Perches
2014-06-25 23:55         ` [PATCH V2] pcnet32: Neaten and remove unnecessary OOM messages Joe Perches
2014-07-01 19:19           ` David Miller
2014-07-01 19:26             ` Joe Perches
2014-06-25 23:51       ` [PATCH V3 08/22] pcnet32: Use pci_zalloc_consistent Joe Perches
2014-06-23 13:41 ` [PATCH 09/22] atl1e: " Joe Perches
2014-06-23 13:41 ` [PATCH 10/22] enic: " Joe Perches
2014-06-26  6:27   ` Govindarajulu Varadarajan
2014-06-23 13:41 ` [PATCH 11/22] sky2: " Joe Perches
2014-06-23 13:41 ` [PATCH 12/22] micrel: " Joe Perches
2014-06-23 13:41 ` [PATCH 13/22] qlogic: " Joe Perches
2014-06-23 13:41 ` [PATCH 14/22] irda: " Joe Perches
2014-06-23 13:41 ` [PATCH 15/22] ipw2100: " Joe Perches
2014-06-23 13:41 ` [PATCH 16/22] mwl8k: " Joe Perches
2014-06-23 13:41 ` [PATCH 17/22] rtl818x: " Joe Perches
2014-06-23 13:41 ` [PATCH 18/22] rtlwifi: " Joe Perches
2014-06-23 13:41 ` [PATCH 19/22] scsi: " Joe Perches
2014-06-23 13:41 ` [PATCH 20/22] staging: " Joe Perches
2014-06-23 16:14   ` Greg Kroah-Hartman
2014-06-23 13:41 ` [PATCH 21/22] synclink_gt: " Joe Perches
2014-06-23 16:15   ` Greg Kroah-Hartman
2014-06-23 13:41 ` [PATCH 22/22] vme: bridges: " Joe Perches
2014-06-23 16:15   ` Greg Kroah-Hartman
2014-06-23 17:25 ` [PATCH 00/22] Add and use pci_zalloc_consistent Luis R. Rodriguez
2014-06-23 19:13   ` Joe Perches
2014-06-23 23:27     ` Julian Calaby
2014-06-23 23:48       ` Joe Perches
2014-06-24  5:24         ` Julia Lawall
2014-06-24  7:15           ` Joe Perches
2014-06-24 12:11             ` Julia Lawall
2014-06-24 11:32       ` Johannes Berg
2014-06-23 21:49 ` David Miller
2014-06-25 19:41 ` John W. Linville

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1403739657.24788.20.camel@joe-AO725 \
    --to=joe@perches.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®