Messages in this thread | | | Subject | Re: [PATCH 01/12] checkpatch: Add GENMASK tests | From | Joe Perches <> | Date | Wed, 24 Jul 2019 11:03:35 -0700 |
| |
On Tue, 2019-07-09 at 22:04 -0700, Joe Perches wrote: > This macro is easy to misuse as it's odd argument order. > > If specified with simple decimal values, make sure the arguments are > ordered high then low. > > Also check if any argument is > 32 where instead of GENMASK, > GENMASK_ULL should be used.
Hey Andrew, can you add this please.
> Signed-off-by: Joe Perches <joe@perches.com> > --- > scripts/checkpatch.pl | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl > index 6cb99ec62000..d37bbe33524b 100755 > --- a/scripts/checkpatch.pl > +++ b/scripts/checkpatch.pl > @@ -6368,6 +6368,21 @@ sub process { > "switch default: should use break\n" . $herectx); > } > > +# check for misuses of GENMASK > + if ($line =~ /\b(GENMASK(?:_ULL)?)\s*\(\s*(\d+)\s*,\s*(\d+)\s*\)/) { > + my $type = $1; > + my $high = $2; > + my $low = $3; > + if ($high < $low) { > + ERROR("GENMASK", > + "$type argument order is high then low\n" . $herecurr); > + } > + if ($type eq "GENMASK" && ($high >= 32 || $low >= 32)) { > + ERROR("GENMASK", > + "$type with arguments >= 32 should use GENMASK_ULL\n" . $herecurr); > + } > + } > + > # check for gcc specific __FUNCTION__ > if ($line =~ /\b__FUNCTION__\b/) { > if (WARN("USE_FUNC",
| |