Re: [PATCH] checkpatch: check proper licensing of Devicetree bindings

From: Joe Perches
Date: Mon Mar 09 2020 - 18:08:21 EST


On Mon, 2020-03-09 at 22:51 +0100, Lubomir Rintel wrote:
> According to Devicetree maintainers (see Link: below), the Devicetree
> binding documents are preferrably licensed (GPL-2.0-only OR
> BSD-2-Clause).
>
> Let's check that. The actual check is a bit more relaxed, to allow more
> liberal but compatible licensing (e.g. GPL-2.0-or-later OR
> BSD-2-Clause).
>
> Link: https://lore.kernel.org/lkml/20200108142132.GA4830@bogus/
> Signed-off-by: Lubomir Rintel <lkundrak@xxxxx>

Fine by me.
Andrew, please pick this up.

cheers, Joe

> ---
> Changes since v1:
> - Downgrade severity to CHECK when running against existing files [Joe
> Perches]
> - Add --fix support [Joe Perches]
> Both changes are taken from here: https://lore.kernel.org/lkml/39042657067088e4ca960f630a7d222fc48f947a.camel@xxxxxxxxxxx/
> ---
> scripts/checkpatch.pl | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index e2976c3fe5ff8..642e897f46e5c 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -3111,6 +3111,17 @@ sub process {
> WARN("SPDX_LICENSE_TAG",
> "'$spdx_license' is not supported in LICENSES/...\n" . $herecurr);
> }
> + if ($realfile =~ m@^Documentation/devicetree/bindings/@ &&
> + not $spdx_license =~ /GPL-2\.0.*BSD-2-Clause/) {
> + my $msg_level = \&WARN;
> + $msg_level = \&CHK if ($file);
> + if (&{$msg_level}("SPDX_LICENSE_TAG",
> +
> + "DT binding documents should be licensed (GPL-2.0-only OR BSD-2-Clause)\n" . $herecurr) &&
> + $fix) {
> + $fixed[$fixlinenr] =~ s/SPDX-License-Identifier: .*/SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)/;
> + }
> + }
> }
> }
> }