* [PATCH] checkpatch: Check usleep_range arguments
[not found] ` <1340204019.29885.9.camel@joe2Laptop>
@ 2012-06-21 15:23 ` Joe Perches
0 siblings, 0 replies; only message in thread
From: Joe Perches @ 2012-06-21 15:23 UTC (permalink / raw)
To: Andrew Morton; +Cc: Yuval Mintz, linux-kernel
usleep_range shouldn't use the same args for min and max.
Report it when it happens and when both args are decimal
and min > max.
Signed-off-by: Joe Perches <joe@perches.com>
---
scripts/checkpatch.pl | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 630319a..d0c1a63 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3309,6 +3309,22 @@ sub process {
}
}
+# check usleep_range arguments
+ if ($^V && $^V ge 5.10.0 &&
+ defined $stat &&
+ $stat =~ /^\+(?:.*?)\busleep_range\s*\(\s*($FuncArg)\s*,\s*($FuncArg)\s*\)/) {
+ my $min = $1;
+ my $max = $7;
+ if ($min eq $max) {
+ WARN("USLEEP_RANGE",
+ "usleep_range should not use min == max args; see Documentation/timers/timers-howto.txt\n" . "$here\n$stat\n");
+ } elsif ($min =~ /^\d+$/ && $max =~ /^\d+$/ &&
+ $min > $max) {
+ WARN("USLEEP_RANGE",
+ "usleep_range args reversed, use min then max; see Documentation/timers/timers-howto.txt\n" . "$here\n$stat\n");
+ }
+ }
+
# check for new externs in .c files.
if ($realfile =~ /\.c$/ && defined $stat &&
$stat =~ /^.\s*(?:extern\s+)?$Type\s+($Ident)(\s*)\(/s)
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2012-06-21 15:23 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <1340182175-916-1-git-send-email-yuvalmin@broadcom.com>
[not found] ` <1340182175-916-3-git-send-email-yuvalmin@broadcom.com>
[not found] ` <1340204019.29885.9.camel@joe2Laptop>
2012-06-21 15:23 ` [PATCH] checkpatch: Check usleep_range arguments Joe Perches
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®