| From: Dmitry Rokosov <ddrokosov@sberdevices.ru> |
| Subject: checkpatch: introduce proper bindings license check |
| Date: Tue, 4 Apr 2023 22:17:15 +0300 |
| |
| All headers from 'include/dt-bindings/' must be verified by checkpatch |
| together with Documentation bindings, because all of them are part of the |
| whole DT bindings system. |
| |
| The requirement is dual licensed and matching patterns: |
| * Schemas: |
| /GPL-2\.0(?:-only)? OR BSD-2-Clause/ |
| * Headers: |
| /GPL-2\.0(?:-only)? OR \S+/ |
| |
| Above patterns suggested by Rob at: |
| https://lore.kernel.org/all/CAL_Jsq+-YJsBO+LuPJ=ZQ=eb-monrwzuCppvReH+af7hYZzNaQ@mail.gmail.com |
| |
| The issue was found during patch review: |
| https://lore.kernel.org/all/20230313201259.19998-4-ddrokosov@sberdevices.ru/ |
| |
| Link: https://lkml.kernel.org/r/20230404191715.7319-1-ddrokosov@sberdevices.ru |
| Signed-off-by: Dmitry Rokosov <ddrokosov@sberdevices.ru> |
| Reviewed-by: Rob Herring <robh@kernel.org> |
| Cc: Andy Whitcroft <apw@canonical.com> |
| Cc: Dwaipayan Ray <dwaipayanray1@gmail.com> |
| Cc: Joe Perches <joe@perches.com> |
| Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> |
| Cc: Lukas Bulwahn <lukas.bulwahn@gmail.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| scripts/checkpatch.pl | 7 ++++++- |
| 1 file changed, 6 insertions(+), 1 deletion(-) |
| |
| --- a/scripts/checkpatch.pl~checkpatch-introduce-proper-bindings-license-check |
| +++ a/scripts/checkpatch.pl |
| @@ -3763,7 +3763,7 @@ sub process { |
| "'$spdx_license' is not supported in LICENSES/...\n" . $herecurr); |
| } |
| if ($realfile =~ m@^Documentation/devicetree/bindings/@ && |
| - not $spdx_license =~ /GPL-2\.0.*BSD-2-Clause/) { |
| + $spdx_license !~ /GPL-2\.0(?:-only)? OR BSD-2-Clause/) { |
| my $msg_level = \&WARN; |
| $msg_level = \&CHK if ($file); |
| if (&{$msg_level}("SPDX_LICENSE_TAG", |
| @@ -3773,6 +3773,11 @@ sub process { |
| $fixed[$fixlinenr] =~ s/SPDX-License-Identifier: .*/SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)/; |
| } |
| } |
| + if ($realfile =~ m@^include/dt-bindings/@ && |
| + $spdx_license !~ /GPL-2\.0(?:-only)? OR \S+/) { |
| + WARN("SPDX_LICENSE_TAG", |
| + "DT binding headers should be licensed (GPL-2.0-only OR .*)\n" . $herecurr); |
| + } |
| } |
| } |
| } |
| _ |