checkpatch: comparisons with a constant on the left

From: Sergey Senozhatsky
Date: Thu Oct 10 2019 - 21:52:38 EST


Hi Joe,

I noticed that this code

#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 18, 0)

triggers checkpatch's warning:

"WARNING: Comparisons should place the constant on
the right side of the test"

Both LINUX_VERSION_CODE and KERNEL_VERSION are constants, so
I'm wondering if it's worth it to improve that check a tiny
bit.

E.g. something utterly trivial:

---
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index cf7543a9d1b2..8a1964c3d9a5 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -4855,6 +4855,7 @@ sub process {
my $to = $4;
my $newcomp = $comp;
if ($lead !~ /(?:$Operators|\.)\s*$/ &&
+ $to !~ /^KERNEL_VERSION.*/ &&
$to !~ /^(?:Constant|[A-Z_][A-Z0-9_]*)$/ &&
WARN("CONSTANT_COMPARISON",
"Comparisons should place the constant on the right side of the test\n" . $herecurr) &&
---

I'm sure you'll have a better idea.

-ss