Patchwork checkpatch: add double empty line check

login
register
mail settings
Submitter Eilon Greenstein
Date Nov. 16, 2012, 7:41 p.m.
Message ID <1353094919.14327.4.camel@lb-tlvb-eilong.il.broadcom.com>
Download mbox | patch
Permalink /patch/199721/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Eilon Greenstein - Nov. 16, 2012, 7:41 p.m.
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
---
 scripts/checkpatch.pl |    7 +++++++
 1 file changed, 7 insertions(+)
David Rientjes - Nov. 16, 2012, 7:55 p.m.
On Fri, 16 Nov 2012, Eilon Greenstein wrote:

> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 21a9f5d..7a9c153 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -3579,6 +3579,13 @@ sub process {
>  			WARN("EXPORTED_WORLD_WRITABLE",
>  			     "Exporting world writable files is usually an error. Consider more restrictive permissions.\n" . $herecurr);
>  		}
> +
> +# check for double empty lines
> +		if ($line =~ /^\+\s*$/ &&
> +		    ($prevline =~ /^\+?\s*$/ || $rawlines[$linenr] =~ /^\s*$/)) {
> +			WARN("DOUBLE_EMPTY_LINE",
> +			     "One empty line should be sufficient. Consider removing this one.\n" . $herecurr);
> +		}
>  	}
>  
>  	# If we have no input at all, then there is nothing to report on

This is fairly common in all the acpi code where variables declared in a 
function are separated from the code in a function.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Eilon Greenstein - Nov. 16, 2012, 8:04 p.m.
On Fri, 2012-11-16 at 11:55 -0800, David Rientjes wrote:
> On Fri, 16 Nov 2012, Eilon Greenstein wrote:
> 
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> > index 21a9f5d..7a9c153 100755
> > --- a/scripts/checkpatch.pl
> > +++ b/scripts/checkpatch.pl
> > @@ -3579,6 +3579,13 @@ sub process {
> >  			WARN("EXPORTED_WORLD_WRITABLE",
> >  			     "Exporting world writable files is usually an error. Consider more restrictive permissions.\n" . $herecurr);
> >  		}
> > +
> > +# check for double empty lines
> > +		if ($line =~ /^\+\s*$/ &&
> > +		    ($prevline =~ /^\+?\s*$/ || $rawlines[$linenr] =~ /^\s*$/)) {
> > +			WARN("DOUBLE_EMPTY_LINE",
> > +			     "One empty line should be sufficient. Consider removing this one.\n" . $herecurr);
> > +		}
> >  	}
> >  
> >  	# If we have no input at all, then there is nothing to report on
> 
> This is fairly common in all the acpi code where variables declared in a 
> function are separated from the code in a function.
> 

Indeed, I see that you do use it in some functions.

Maybe we can limit it only to the networking tree (similar to the
networking comments style) or if the ACPI is the exception, we can apply
to all but ACPI.


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Joe Perches - Nov. 17, 2012, 12:50 a.m.
On Fri, 2012-11-16 at 22:04 +0200, Eilon Greenstein wrote:
> On Fri, 2012-11-16 at 11:55 -0800, David Rientjes wrote:
> > On Fri, 16 Nov 2012, Eilon Greenstein wrote:
> > 
> > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> > > index 21a9f5d..7a9c153 100755
> > > --- a/scripts/checkpatch.pl
> > > +++ b/scripts/checkpatch.pl
> > > @@ -3579,6 +3579,13 @@ sub process {
> > >  			WARN("EXPORTED_WORLD_WRITABLE",
> > >  			     "Exporting world writable files is usually an error. Consider more restrictive permissions.\n" . $herecurr);
> > >  		}
> > > +
> > > +# check for double empty lines
> > > +		if ($line =~ /^\+\s*$/ &&
> > > +		    ($prevline =~ /^\+?\s*$/ || $rawlines[$linenr] =~ /^\s*$/)) {
> > > +			WARN("DOUBLE_EMPTY_LINE",
> > > +			     "One empty line should be sufficient. Consider removing this one.\n" . $herecurr);
> > > +		}
> > >  	}
> > >  
> > >  	# If we have no input at all, then there is nothing to report on
> > 
> > This is fairly common in all the acpi code where variables declared in a 
> > function are separated from the code in a function.
> > 
> 
> Indeed, I see that you do use it in some functions.
> 
> Maybe we can limit it only to the networking tree (similar to the
> networking comments style) or if the ACPI is the exception, we can apply
> to all but ACPI.

I'm not sure this should be done.
Double line spacing has some utility and
is pretty common.

Perhaps make this a --strict/CHK option
and also perhaps make sure this isn't
emitted on consecutive lines.


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Eilon Greenstein - Nov. 17, 2012, 11:12 a.m.
On Fri, 2012-11-16 at 16:50 -0800, Joe Perches wrote:

Hi Joe, thanks for replying.

> On Fri, 2012-11-16 at 22:04 +0200, Eilon Greenstein wrote:
> > On Fri, 2012-11-16 at 11:55 -0800, David Rientjes wrote:
> > > On Fri, 16 Nov 2012, Eilon Greenstein wrote:

> > > This is fairly common in all the acpi code where variables declared in a 
> > > function are separated from the code in a function.
> > > 
> > 
> > Indeed, I see that you do use it in some functions.
> > 
> > Maybe we can limit it only to the networking tree (similar to the
> > networking comments style) or if the ACPI is the exception, we can apply
> > to all but ACPI.
> 
> I'm not sure this should be done.
> Double line spacing has some utility and
> is pretty common.

Since adding double empty line can cause a patch to be rejected, we
should have an easy way to catch it before submitting.

> Perhaps make this a --strict/CHK option
> and also perhaps make sure this isn't
> emitted on consecutive lines.

Indeed, CHK makes more sense. I wanted to have a warning per redundant
line, but since it can be annoying when adding 3 or more empty lines
intentionally, I will issue one comment for consecutive lines.

v2 is on its way.

Thanks,
Eilon



--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 21a9f5d..7a9c153 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3579,6 +3579,13 @@  sub process {
 			WARN("EXPORTED_WORLD_WRITABLE",
 			     "Exporting world writable files is usually an error. Consider more restrictive permissions.\n" . $herecurr);
 		}
+
+# check for double empty lines
+		if ($line =~ /^\+\s*$/ &&
+		    ($prevline =~ /^\+?\s*$/ || $rawlines[$linenr] =~ /^\s*$/)) {
+			WARN("DOUBLE_EMPTY_LINE",
+			     "One empty line should be sufficient. Consider removing this one.\n" . $herecurr);
+		}
 	}
 
 	# If we have no input at all, then there is nothing to report on