Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756679AbeAITmW (ORCPT + 1 other); Tue, 9 Jan 2018 14:42:22 -0500 Received: from smtprelay0173.hostedemail.com ([216.40.44.173]:41835 "EHLO smtprelay.hostedemail.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756794AbeAITmU (ORCPT ); Tue, 9 Jan 2018 14:42:20 -0500 X-Session-Marker: 6A6F6540706572636865732E636F6D X-HE-Tag: blood46_88897a3ccb934 X-Filterd-Recvd-Size: 4775 Message-ID: <1515526936.9619.121.camel@perches.com> Subject: Re: [PATCH] staging: pi433: remove unnecessary parentheses From: Joe Perches To: Greg Kroah-Hartman Cc: Valentin Vidic , David Miller , devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org, Marcin Ciupak , Marcus Wolf , Simon =?ISO-8859-1?Q?Sandstr=F6m?= Date: Tue, 09 Jan 2018 11:42:16 -0800 In-Reply-To: <20180109192844.GB20280@kroah.com> References: <20180108173855.19366-1-Valentin.Vidic@CARNet.hr> <20180109143148.GB608@kroah.com> <1515525697.9619.100.camel@perches.com> <20180109192844.GB20280@kroah.com> Content-Type: text/plain; charset="ISO-8859-1" X-Mailer: Evolution 3.26.1-1 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: On Tue, 2018-01-09 at 20:28 +0100, Greg Kroah-Hartman wrote: > On Tue, Jan 09, 2018 at 11:21:37AM -0800, Joe Perches wrote: > > On Tue, 2018-01-09 at 15:31 +0100, Greg Kroah-Hartman wrote: > > > On Mon, Jan 08, 2018 at 06:38:55PM +0100, Valentin Vidic wrote: > > > > Fixes checkpatch warnings: > > > > CHECK: Unnecessary parentheses around 'mantisse != mantisse16' > > > > CHECK: Unnecessary parentheses around 'mantisse != mantisse20' > > > > CHECK: Unnecessary parentheses around 'mantisse != mantisse24' > > > > [] > > > > diff --git a/drivers/staging/pi433/rf69.c b/drivers/staging/pi433/rf69.c > > > > [] > > > > @@ -391,9 +391,9 @@ static int rf69_set_bandwidth_intern(struct spi_device *spi, u8 reg, > > > > return -EINVAL; > > > > } > > > > > > > > - if ((mantisse != mantisse16) && > > > > - (mantisse != mantisse20) && > > > > - (mantisse != mantisse24)) { > > > > + if (mantisse != mantisse16 && > > > > + mantisse != mantisse20 && > > > > + mantisse != mantisse24) { > > > > > > I'm getting really tired of seeing this checkpatch warning, when it's a > > > major pain. > > > > Your idea of major pain and mine differ a bit. > > I don't like taking patches that cause future problems. What future problems might this particular case present that isn't generic in all patches. > > > Joe, can you please turn these off. Patches like this will force people > > > to have to remember that != is higher precidence than &&. > > > > As it's not just 1 precedence level but 4 and 5, it > > really shouldn't be that hard to remember. > > I can't remember any of them, and I should not have to. That depends on how well you know your C. > That's the > point, you should not assume anyone knows the levels, code is written > for developers to understand first, and the compiler second. And someone that knows C knows those levels and the parentheses can just be visual noise requiring extra thought. Sometimes it's useful, sometimes it's not. if (a == b && c == d) is pretty trivial. and I believe if ((a == b)) emits clang warnings > By > removing these, it doesn't do anything for the compiler, but makes the > developer think longer about them. Generally I have to think more with more parentheses. > > > The original code here was just fine. > > > > And I don't really disagree with you. > > > > David Miller has a preference for the parenthesis free > > style. I believe he mentioned it sometime in August 2017 > > but I can't find it right now. > > > > Anyway, perhaps > > --- > > scripts/checkpatch.pl | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl > > index d2464058ab5d..3a7499de2c2d 100755 > > --- a/scripts/checkpatch.pl > > +++ b/scripts/checkpatch.pl > > @@ -4526,7 +4526,9 @@ sub process { > > } > > > > # check for unnecessary parentheses around comparisons in if uses > > - if ($^V && $^V ge 5.10.0 && defined($stat) && > > +# when !drivers/staging or the command-line uses --strict > > + if (($realfile !~ m@^(?:drivers/staging/)@ || $check_orig) && > > + $^V && $^V ge 5.10.0 && defined($stat) && > > How about only if in the networking area? I don't want to take patches > for this for other parts of the kernel either, it's really useless. AFAIK: Almost no one thinks when sending staging patches. For other parts of the tree, it requires --strict on the command line. AFAIK: almost no one uses that and if they do, then they can determine for themselves if they want to remove excessive parentheses.