2022-03-17 05:16:05

by Nathan Chancellor

[permalink] [raw]
Subject: [PATCH -next] dt-bindings:i kbuild: Make DT_SCHEMA_LINT a recursive variable

A recent change added a warning when yamllint is not installed, as it is
needed for 'make dt_binding_check'. However, it also changed
DT_SCHEMA_LINT to be a simple make variable, which is evaluated when a
Makefile is evaluated. This causes a warning when running 'make clean',
as Documentation/devicetree/bindings/Makefile has a "clean-files"
variable:

$ make -s clean
which: no yamllint in (...)
warning: python package 'yamllint' not installed, skipping

Make DT_SCHEMA_LINT a recursive variable so it is evaluated only when it
is used. The warning still triggers when 'make dt_binding_check' is run.

Fixes: b3e664a7f449 ("dt-bindings: kbuild: Print a warning if yamllint is not found")
Signed-off-by: Nathan Chancellor <[email protected]>
---
Documentation/devicetree/bindings/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/Makefile b/Documentation/devicetree/bindings/Makefile
index e594e5898be0..c9953f86b19d 100644
--- a/Documentation/devicetree/bindings/Makefile
+++ b/Documentation/devicetree/bindings/Makefile
@@ -3,7 +3,7 @@ DT_DOC_CHECKER ?= dt-doc-validate
DT_EXTRACT_EX ?= dt-extract-example
DT_MK_SCHEMA ?= dt-mk-schema

-DT_SCHEMA_LINT := $(shell which yamllint || \
+DT_SCHEMA_LINT = $(shell which yamllint || \
echo "warning: python package 'yamllint' not installed, skipping" >&2)

DT_SCHEMA_MIN_VERSION = 2022.3

base-commit: 593adaa6459903728cb59392239f2c615b8dadbb
--
2.35.1


2022-03-24 16:48:45

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH -next] dt-bindings:i kbuild: Make DT_SCHEMA_LINT a recursive variable

On Tue, 15 Mar 2022 13:20:32 -0700, Nathan Chancellor wrote:
> A recent change added a warning when yamllint is not installed, as it is
> needed for 'make dt_binding_check'. However, it also changed
> DT_SCHEMA_LINT to be a simple make variable, which is evaluated when a
> Makefile is evaluated. This causes a warning when running 'make clean',
> as Documentation/devicetree/bindings/Makefile has a "clean-files"
> variable:
>
> $ make -s clean
> which: no yamllint in (...)
> warning: python package 'yamllint' not installed, skipping
>
> Make DT_SCHEMA_LINT a recursive variable so it is evaluated only when it
> is used. The warning still triggers when 'make dt_binding_check' is run.
>
> Fixes: b3e664a7f449 ("dt-bindings: kbuild: Print a warning if yamllint is not found")
> Signed-off-by: Nathan Chancellor <[email protected]>
> ---
> Documentation/devicetree/bindings/Makefile | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>

Applied, thanks!