Skip to content

Commit 2783a7f

Browse files
committed
dt-bindings: kbuild: Pass DT_SCHEMA_FILES to dt-validate
In preparation for supporting validation of DTB files, the full processed schema will always be needed in order to extract type information from it. Therefore, the processed schema containing only what DT_SCHEMA_FILES specifies won't work. Instead, dt-validate has gained an option, -l or --limit, to specify which schema(s) to use for validation. As the command line option is new, we the minimum dtschema version must be updated. Cc: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20220310160513.1708182-2-robh@kernel.org
1 parent 37de812 commit 2783a7f

2 files changed

Lines changed: 5 additions & 28 deletions

File tree

Documentation/devicetree/bindings/Makefile

Lines changed: 3 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ DT_MK_SCHEMA ?= dt-mk-schema
66
DT_SCHEMA_LINT := $(shell which yamllint || \
77
echo "warning: python package 'yamllint' not installed, skipping" >&2)
88

9-
DT_SCHEMA_MIN_VERSION = 2021.2.1
9+
DT_SCHEMA_MIN_VERSION = 2022.3
1010

1111
PHONY += check_dtschema_version
1212
check_dtschema_version:
@@ -25,9 +25,6 @@ quiet_cmd_extract_ex = DTEX $@
2525
$(obj)/%.example.dts: $(src)/%.yaml check_dtschema_version FORCE
2626
$(call if_changed,extract_ex)
2727

28-
# Use full schemas when checking %.example.dts
29-
DT_TMP_SCHEMA := $(obj)/processed-schema-examples.json
30-
3128
find_all_cmd = find $(srctree)/$(src) \( -name '*.yaml' ! \
3229
-name 'processed-schema*' ! \
3330
-name '*.example.dt.yaml' \)
@@ -70,29 +67,10 @@ override DTC_FLAGS := \
7067
# Disable undocumented compatible checks until warning free
7168
override DT_CHECKER_FLAGS ?=
7269

73-
$(obj)/processed-schema-examples.json: $(DT_DOCS) $(src)/.yamllint check_dtschema_version FORCE
70+
$(obj)/processed-schema.json: $(DT_DOCS) $(src)/.yamllint check_dtschema_version FORCE
7471
$(call if_changed_rule,chkdt)
7572

76-
ifeq ($(DT_SCHEMA_FILES),)
77-
78-
# Unless DT_SCHEMA_FILES is specified, use the full schema for dtbs_check too.
79-
# Just copy processed-schema-examples.json
80-
81-
$(obj)/processed-schema.json: $(obj)/processed-schema-examples.json FORCE
82-
$(call if_changed,copy)
83-
84-
else
85-
86-
# If DT_SCHEMA_FILES is specified, use it for processed-schema.json
87-
88-
$(obj)/processed-schema.json: DT_MK_SCHEMA_FLAGS := -u
89-
$(obj)/processed-schema.json: $(CHK_DT_DOCS) check_dtschema_version FORCE
90-
$(call if_changed,mk_schema)
91-
92-
endif
93-
94-
always-$(CHECK_DT_BINDING) += processed-schema-examples.json
95-
always-$(CHECK_DTBS) += processed-schema.json
73+
always-y += processed-schema.json
9674
always-$(CHECK_DT_BINDING) += $(patsubst $(srctree)/$(src)/%.yaml,%.example.dts, $(CHK_DT_DOCS))
9775
always-$(CHECK_DT_BINDING) += $(patsubst $(srctree)/$(src)/%.yaml,%.example.dt.yaml, $(CHK_DT_DOCS))
9876

scripts/Makefile.lib

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -361,10 +361,9 @@ $(multi-dtb-y): FORCE
361361
$(call multi_depend, $(multi-dtb-y), .dtb, -dtbs)
362362

363363
DT_CHECKER ?= dt-validate
364-
DT_CHECKER_FLAGS ?= $(if $(DT_SCHEMA_FILES),,-m)
364+
DT_CHECKER_FLAGS ?= $(if $(DT_SCHEMA_FILES),-l $(DT_SCHEMA_FILES),-m)
365365
DT_BINDING_DIR := Documentation/devicetree/bindings
366-
# DT_TMP_SCHEMA may be overridden from Documentation/devicetree/bindings/Makefile
367-
DT_TMP_SCHEMA ?= $(objtree)/$(DT_BINDING_DIR)/processed-schema.json
366+
DT_TMP_SCHEMA := $(objtree)/$(DT_BINDING_DIR)/processed-schema.json
368367

369368
quiet_cmd_dtb_check = CHECK $@
370369
cmd_dtb_check = $(DT_CHECKER) $(DT_CHECKER_FLAGS) -u $(srctree)/$(DT_BINDING_DIR) -p $(DT_TMP_SCHEMA) $@

0 commit comments

Comments
 (0)