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. _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel