On Sun, Mar 01, 2026 at 02:40:55PM +0100, Krzysztof Kozlowski wrote:
> Sources already have SPDX-FileCopyrightText (~40 instances) and more
> appear on the mailing list, so document that it is allowed. On the
> other hand SPDX defines several other tags like SPDX-FileType, so add
> checkpatch rule to narrow desired tags only to two of them - license and
> copyright. That way no new tags would sneak in to the kernel unnoticed.
>
> Cc: Laurent Pinchart <[email protected]>
> Cc: Greg Kroah-Hartman <[email protected]>
> Cc: Joe Perches <[email protected]>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>
> ---
>
> Other way would be to remove SPDX-FileCopyrightText from existing files
> and disallow this, but one way or another we should be explicit about
> it. Otherwise people will be sending more of these and each maintainer
> would need to make their own call.
Ack.
> Changes in v3:
> 1. Typo "or multiple"
>
> Changes in v2:
> 1. Doc adjustments based on feedback from Greg and Laurent.
> 2. "unused" -> "unsupported"
> 3. Drop redundant blank line
> ---
> Documentation/process/license-rules.rst | 7 +++++--
> scripts/checkpatch.pl | 8 ++++++++
> 2 files changed, 13 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/process/license-rules.rst
> b/Documentation/process/license-rules.rst
> index 59a7832df7d0..b0176bb8a465 100644
> --- a/Documentation/process/license-rules.rst
> +++ b/Documentation/process/license-rules.rst
> @@ -63,8 +63,11 @@ License identifier syntax
> The SPDX license identifier in kernel files shall be added at the first
> possible line in a file which can contain a comment. For the majority
> of files this is the first line, except for scripts which require the
> - '#!PATH_TO_INTERPRETER' in the first line. For those scripts the SPDX
> - identifier goes into the second line.
> + '#!PATH_TO_INTERPRETER' in the first line. For those scripts, the SPDX
> + license identifier goes into the second line.
> +
> + The license identifier line can then be followed by one or multiple
> + SPDX-FileCopyrightText lines if desired.
>
> |
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index bec7930cdd66..e317cf2ffc58 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -3856,6 +3856,14 @@ sub process {
> "Misplaced SPDX-License-Identifier tag - use line
> $checklicenseline instead\n" . $herecurr);
> }
>
> +# check for unsupported SPDX file tags
> + if ($rawline =~ /\bSPDX-.*:/ &&
> + $rawline !~ /\bSPDX-License-Identifier:/ &&
> + $rawline !~ /\bSPDX-FileCopyrightText:/) {
> + WARN("SPDX_LICENSE_TAG",
> + "Unsupported SPDX tag\n" . $herecurr);
I'd write "nonallowed" instead of "unsupported", possibly because I may
not be familiar with the usage of "supported" in this acceptation. With
or without that change,
Acked-by: Laurent Pinchart <[email protected]>
> + }
> +
> # line length limit (with some exclusions)
> #
> # There are a few types of lines that may extend beyond $max_line_length:
--
Regards,
Laurent Pinchart