linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] checkpatch: don't warn on every struct without const_structs file
@ 2017-01-10 14:03 Johannes Berg
  2017-01-10 15:01 ` Joe Perches
  0 siblings, 1 reply; 6+ messages in thread
From: Johannes Berg @ 2017-01-10 14:03 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Joe Perches, linux-kernel, Johannes Berg

From: Johannes Berg <johannes.berg@intel.com>

The script says that it won't warn:
"No structs that should be const will be found [...]"

but then that doesn't work and it warns on every single struct
instead, since the regular expression ends up empty. Fix that
by checking that it's not empty first.

Fixes: bf1fa1dae68e ("checkpatch: externalize the structs that should be const")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
---
 scripts/checkpatch.pl | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index a8368d1c4348..722a319acec5 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -6010,7 +6010,8 @@ sub process {
 		}
 
 # check for various structs that are normally const (ops, kgdb, device_tree)
-		if ($line !~ /\bconst\b/ &&
+		if ($const_structs ne "" &&
+		    $line !~ /\bconst\b/ &&
 		    $line =~ /\bstruct\s+($const_structs)\b/) {
 			WARN("CONST_STRUCT",
 			     "struct $1 should normally be const\n" .
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] checkpatch: don't warn on every struct without const_structs file
  2017-01-10 14:03 [PATCH] checkpatch: don't warn on every struct without const_structs file Johannes Berg
@ 2017-01-10 15:01 ` Joe Perches
  2017-01-10 15:04   ` Johannes Berg
  0 siblings, 1 reply; 6+ messages in thread
From: Joe Perches @ 2017-01-10 15:01 UTC (permalink / raw)
  To: Johannes Berg, Andrew Morton; +Cc: linux-kernel, Johannes Berg

On Tue, 2017-01-10 at 15:03 +0100, Johannes Berg wrote:
> From: Johannes Berg <johannes.berg@intel.com>
> 
> The script says that it won't warn:
> "No structs that should be const will be found [...]"
> 
> but then that doesn't work and it warns on every single struct
> instead, since the regular expression ends up empty. Fix that
> by checking that it's not empty first.

nak.

How does const_structs end up empty for you?

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] checkpatch: don't warn on every struct without const_structs file
  2017-01-10 15:01 ` Joe Perches
@ 2017-01-10 15:04   ` Johannes Berg
  2017-01-10 16:27     ` Joe Perches
  0 siblings, 1 reply; 6+ messages in thread
From: Johannes Berg @ 2017-01-10 15:04 UTC (permalink / raw)
  To: Joe Perches, Andrew Morton; +Cc: linux-kernel

On Tue, 2017-01-10 at 07:01 -0800, Joe Perches wrote:
> On Tue, 2017-01-10 at 15:03 +0100, Johannes Berg wrote:
> > From: Johannes Berg <johannes.berg@intel.com>
> > 
> > The script says that it won't warn:
> > "No structs that should be const will be found [...]"
> > 
> > but then that doesn't work and it warns on every single struct
> > instead, since the regular expression ends up empty. Fix that
> > by checking that it's not empty first.
> 
> nak.
> 
> How does const_structs end up empty for you?

I copied checkpatch elsewhere and ran it.

Regardless, the current code is utterly stupid - it prints a warning
that it won't flag any structs, and then proceeds to flag all structs.

If you must, send a patch to abort() [whatever the perl equivalent is]
when the file can't be found, but as it is, the code is just idiotic.

johannes

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] checkpatch: don't warn on every struct without const_structs file
  2017-01-10 15:04   ` Johannes Berg
@ 2017-01-10 16:27     ` Joe Perches
  2017-01-10 16:31       ` Johannes Berg
  0 siblings, 1 reply; 6+ messages in thread
From: Joe Perches @ 2017-01-10 16:27 UTC (permalink / raw)
  To: Johannes Berg, Andrew Morton; +Cc: linux-kernel

On Tue, 2017-01-10 at 16:04 +0100, Johannes Berg wrote:
> On Tue, 2017-01-10 at 07:01 -0800, Joe Perches wrote:
> > On Tue, 2017-01-10 at 15:03 +0100, Johannes Berg wrote:
> > > From: Johannes Berg <johannes.berg@intel.com>
> > > 
> > > The script says that it won't warn:
> > > "No structs that should be const will be found [...]"
> > > 
> > > but then that doesn't work and it warns on every single struct
> > > instead, since the regular expression ends up empty. Fix that
> > > by checking that it's not empty first.
> > 
> > nak.
> > 
> > How does const_structs end up empty for you?
> 
> I copied checkpatch elsewhere and ran it.

Why do you want to copy checkpatch "someplace else"?
Instead of copy, I think you should soft link it.

> Regardless, the current code is utterly stupid - it prints a warning
> that it won't flag any structs, and then proceeds to flag all structs.
> 
> If you must, send a patch to abort() [whatever the perl equivalent is]
> when the file can't be found, but as it is, the code is just idiotic.

Maybe so.

As is, your patch description is incomplete because
it doesn't mention your use case.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] checkpatch: don't warn on every struct without const_structs file
  2017-01-10 16:27     ` Joe Perches
@ 2017-01-10 16:31       ` Johannes Berg
  2017-01-10 16:50         ` Joe Perches
  0 siblings, 1 reply; 6+ messages in thread
From: Johannes Berg @ 2017-01-10 16:31 UTC (permalink / raw)
  To: Joe Perches, Andrew Morton; +Cc: linux-kernel

> > I copied checkpatch elsewhere and ran it.
> 
> Why do you want to copy checkpatch "someplace else"?
> Instead of copy, I think you should soft link it.

Well, no, I have to distribute it with that.

> > Regardless, the current code is utterly stupid - it prints a
> > warning that it won't flag any structs, and then proceeds to flag
> > all structs.
> > 
> > If you must, send a patch to abort() [whatever the perl equivalent
> > is] when the file can't be found, but as it is, the code is just
> > idiotic.
> 
> Maybe so.
> 
> As is, your patch description is incomplete because
> it doesn't mention your use case.

I don't think that's relevant. The script is internally inconsistent,
as I do mention in the commit log, which is worth fixing.

johannes

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] checkpatch: don't warn on every struct without const_structs file
  2017-01-10 16:31       ` Johannes Berg
@ 2017-01-10 16:50         ` Joe Perches
  0 siblings, 0 replies; 6+ messages in thread
From: Joe Perches @ 2017-01-10 16:50 UTC (permalink / raw)
  To: Johannes Berg, Andrew Morton; +Cc: linux-kernel

On Tue, 2017-01-10 at 17:31 +0100, Johannes Berg wrote:
> > > I copied checkpatch elsewhere and ran it.
> > 
> > Why do you want to copy checkpatch "someplace else"?
> > Instead of copy, I think you should soft link it.
> 
> Well, no, I have to distribute it with that.
> 
> > > Regardless, the current code is utterly stupid - it prints a
> > > warning that it won't flag any structs, and then proceeds to flag
> > > all structs.
> > > 
> > > If you must, send a patch to abort() [whatever the perl equivalent
> > > is] when the file can't be found, but as it is, the code is just
> > > idiotic.
> > 
> > Maybe so.
> > 
> > As is, your patch description is incomplete because
> > it doesn't mention your use case.
> 
> I don't think that's relevant.

I do.  checkpatch is a script written for linux patches.

You are making use of the script outside of the linux tree.
You could just as well keep a local copy of this patch instead.

Your patch allows you to avoid this and the patch description
is relevant to why this is useful.

So your patch description is simply incorrect/incomplete:

---------------------------------------------------------------
The script says that it won't warn:
"No structs that should be const will be found [...]"

but then that doesn't work and it warns on every single struct
instead, since the regular expression ends up empty. Fix that
by checking that it's not empty first.
---------------------------------------------------------------

When used for linux, checkpatch works just fine and your
patch description describes a condition that doesn't happen.

> The script is internally inconsistent,
> as I do mention in the commit log, which is worth fixing.

Yeah, I think it's useful to fix.

Just make the commit message describe why the patch is
appropriate for non-linux uses.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-01-10 16:50 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-10 14:03 [PATCH] checkpatch: don't warn on every struct without const_structs file Johannes Berg
2017-01-10 15:01 ` Joe Perches
2017-01-10 15:04   ` Johannes Berg
2017-01-10 16:27     ` Joe Perches
2017-01-10 16:31       ` Johannes Berg
2017-01-10 16:50         ` Joe Perches

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).