From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753627AbdDJS4h (ORCPT ); Mon, 10 Apr 2017 14:56:37 -0400 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:48957 "EHLO relay4-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753592AbdDJS4f (ORCPT ); Mon, 10 Apr 2017 14:56:35 -0400 Date: Mon, 10 Apr 2017 20:56:16 +0200 From: "Arthur Brainville (Ybalrid)" To: Joe Perches Cc: Andrew Morton , Andy Whitcroft , Greg KH , linux-kernel@vger.kernel.org Subject: Re: [PATCH] checkpatch: Avoid suggesting struct definitions should be const Message-ID: <20170410185610.GA25170@Leliel> References: <20170409142812.3356-1-ybalrid@ybalrid.info> <0dce709150d712e66f1b90b03827634b53b28085.1491845946.git.joe@perches.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <0dce709150d712e66f1b90b03827634b53b28085.1491845946.git.joe@perches.com> User-Agent: Mutt/1.8.0 (2017-02-23) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Apr 10, 2017 at 10:45:55AM -0700, Joe Perches wrote: > Many structs are generally used const and there is a known list > of these structs. > > struct definitions should not be generally be declared const. > > Add a test for the lack of an open brace immediately after the > struct to avoid definitions. > > This avoids the false positive "struct foo should normally be const" > message only when the open brace is on the same line as the definition. > > Signed-off-by: Joe Perches > --- > scripts/checkpatch.pl | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl > index 089c974aa3a5..3a1cb9d7474e 100755 > --- a/scripts/checkpatch.pl > +++ b/scripts/checkpatch.pl > @@ -6090,11 +6090,11 @@ sub process { > } > > # check for various structs that are normally const (ops, kgdb, device_tree) > +# and avoid what seem like struct definitions 'struct foo {' > if ($line !~ /\bconst\b/ && > - $line =~ /\bstruct\s+($const_structs)\b/) { > + $line =~ /\bstruct\s+($const_structs)\b(?!\s*\{)/) { > WARN("CONST_STRUCT", > - "struct $1 should normally be const\n" . > - $herecurr); > + "struct $1 should normally be const\n" . $herecurr); > } > > # use of NR_CPUS is usually wrong > -- > 2.10.0.rc2.1.g053435c > Oh, right... Everything makes sence now! That output from checkpatch was confusing. Well, at least for that little newbie that got the weird idea to send a "fix" on some comedi driver code (me). (I have to say, that was an interesting experience, and if me sending that patch made Joe Perches improve checkpatch a tiny little bit, it wasn't *that* useless... I just hope I did not annoy people too much) Obviusly, the patch I sent about that staging comedi driver should be ignored. I'll be a bit more careful when looking at these thing, and recheck with the coding-style part of the doc. Regards, Arthur Brainville