Re: [PATCH v3 3/3] checkpatch: Add new option to force userspace
From: Petr Vorel
Date: Wed May 20 2026 - 16:37:47 EST
> Signed-off-by: Petr Vorel <pvorel@xxxxxxx>
> ---
> New in v3.
> scripts/checkpatch.pl | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 60da43b00d55..205ce64d06bf 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -63,6 +63,7 @@ my $env_config_dir = 'CHECKPATCH_CONFIG_DIR';
> my $max_line_length = 100;
> my $ignore_perl_version = 0;
> my $spdx_cxx_comments = 0;
> +my $userspace = 0;
> my $minimum_perl_version = 5.10.0;
> my $min_conf_desc_length = 4;
> my $spelling_file = "$D/spelling.txt";
> @@ -143,6 +144,7 @@ Options:
> (required by old toolchains), allow also C++
> comments (//).
> NOTE: it should *not* be used for Linux mainline.
> + --userspace Force rules specific for userspace.
> --codespell Use the codespell dictionary for spelling/typos
> (default:$codespellfile)
> --codespellfile Use this codespell dictionary
> @@ -358,6 +360,7 @@ GetOptions(
> 'codespell!' => \$codespell,
> 'codespellfile=s' => \$user_codespellfile,
> 'typedefsfile=s' => \$typedefsfile,
> + 'userspace' => \$userspace,
sashiko suggest to use "!" to allow --no-userspace. I don't see a point in
having it because it's off by default, but as most of options without parameters
use it, I can add it for consistency.
Kind regards,
Petr
> 'color=s' => \$color,
> 'no-color' => \$color, #keep old behaviors of -nocolor
> 'nocolor' => \$color, #keep old behaviors of -nocolor
> @@ -2669,7 +2672,8 @@ sub exclude_global_initialisers {
> sub is_userspace {
> my ($realfile) = @_;
> - return ($realfile =~ m@^tools/@ ||
> + return ($userspace ||
> + $realfile =~ m@^tools/@ ||
> $realfile =~ m@^scripts/@ ||
> $realfile =~ m@^arch/[^/]+/tools/@ ||
> $realfile =~ m@^arch/[^/]+/boot/tools/@);