[PATCH v5 5/5] checkpatch: Skip kernel specific checks for userspace
From: Petr Vorel
Date: Tue Sep 01 2026 - 07:03:11 EST
These check are kernel specific, do not warn about it when testing
userspace code:
* BIT_MACRO
* LONG_UDELAY
* MSLEEP
* PREFER_KERNEL_TYPES
* USLEEP_RANGE
Follow-up: 99b70ece33d8 ("checkpatch: suppress strscpy warnings for userspace tools")
Signed-off-by: Petr Vorel <pvorel@xxxxxxx>
---
New in v5.
scripts/checkpatch.pl | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 97bf952b0fbc..0dac0ffa009b 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -6701,7 +6701,7 @@ sub process {
}
# prefer usleep_range over udelay
- if ($line =~ /\budelay\s*\(\s*(\d+)\s*\)/) {
+ if (!is_uapi($realfile) && $line =~ /\budelay\s*\(\s*(\d+)\s*\)/) {
my $delay = $1;
# ignore udelay's < 10, however
if (! ($delay < 10) ) {
@@ -6715,7 +6715,7 @@ sub process {
}
# warn about unexpectedly long msleep's
- if ($line =~ /\bmsleep\s*\((\d+)\);/) {
+ if (!is_uapi($realfile) && $line =~ /\bmsleep\s*\((\d+)\);/) {
if ($1 < 20) {
WARN("MSLEEP",
"msleep < 20ms can sleep for up to 20ms; see function description of msleep().\n" . $herecurr);
@@ -6936,8 +6936,7 @@ sub process {
}
# check for c99 types like uint8_t used outside of uapi/ and tools/
- if (!is_uapi($realfile) &&
- $realfile !~ m@\btools/@ &&
+ if (!is_uapi($realfile) && !is_userspace($realfile) &&
$line =~ /\b($Declare)\s*$Ident\s*[=;,\[]/) {
my $type = $1;
if ($type =~ /\b($typeC99Typedefs)\b/) {
@@ -7429,7 +7428,7 @@ sub process {
}
# check for #defines like: 1 << <digit> that could be BIT(digit), it is not exported to uapi
- if (!is_uapi($realfile) &&
+ if (!is_uapi($realfile) && !is_userspace($realfile) &&
$line =~ /#\s*define\s+\w+\s+\(?\s*1\s*([ulUL]*)\s*\<\<\s*(?:\d+|$Ident)\s*\)?/) {
my $ull = "";
$ull = "_ULL" if (defined($1) && $1 =~ /ll/i);
--
2.55.0