scripts/Makefile.lib | 7 +++++++ 1 file changed, 7 insertions(+)
Currently running dtbs_check compiles and runs the DT checker on all
enabled devicetrees against all dt-bindings. This can take a long time,
and is an unnecessary burden when just validating a new devicetree or
changes in an existing one, with the dt-bindings unchanged.
Similarly to DT_SCHEMA_FILES for dt_binding_check, add a DTB_FILES
variable that can be passed to the dtbs_check make command to restrict
which devicetrees are validated.
Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
---
Usage example:
make dtbs_check DTB_FILES='arch/arm64/boot/dts/mediatek/mt8192-asurada-spherion-r0.dtb arch/arm64/boot/dts/mediatek/mt8192-asurada-hayato-r1.dtb'
scripts/Makefile.lib | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index ec391c6a2641..f3ac6d3632a2 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -418,9 +418,16 @@ DT_CHECKER_FLAGS ?= $(if $(DT_SCHEMA_FILES),-l $(DT_SCHEMA_FILES),-m)
DT_BINDING_DIR := Documentation/devicetree/bindings
DT_TMP_SCHEMA := $(objtree)/$(DT_BINDING_DIR)/processed-schema.json
+ifeq ($(DTB_FILES),)
quiet_cmd_dtb = DTC_CHK $@
cmd_dtb = $(cmd_dtc) ; $(DT_CHECKER) $(DT_CHECKER_FLAGS) -u $(srctree)/$(DT_BINDING_DIR) -p $(DT_TMP_SCHEMA) $@ || true
else
+SHOULD_CHECK_DTB = $(filter $@,$(DTB_FILES))
+
+quiet_cmd_dtb = $(if $(SHOULD_CHECK_DTB),DTC_CHK,DTC) $@
+ cmd_dtb = $(if $(SHOULD_CHECK_DTB), $(cmd_dtc) ; $(DT_CHECKER) $(DT_CHECKER_FLAGS) -u $(srctree)/$(DT_BINDING_DIR) -p $(DT_TMP_SCHEMA) $@ || true , $(cmd_dtc))
+endif
+else
quiet_cmd_dtb = $(quiet_cmd_dtc)
cmd_dtb = $(cmd_dtc)
endif
--
2.38.1
On Tue, Nov 01, 2022 at 06:03:03PM -0400, Nícolas F. R. A. Prado wrote: > Currently running dtbs_check compiles and runs the DT checker on all > enabled devicetrees against all dt-bindings. This can take a long time, > and is an unnecessary burden when just validating a new devicetree or > changes in an existing one, with the dt-bindings unchanged. > > Similarly to DT_SCHEMA_FILES for dt_binding_check, add a DTB_FILES > variable that can be passed to the dtbs_check make command to restrict > which devicetrees are validated. > > Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> > > --- > Usage example: > make dtbs_check DTB_FILES='arch/arm64/boot/dts/mediatek/mt8192-asurada-spherion-r0.dtb arch/arm64/boot/dts/mediatek/mt8192-asurada-hayato-r1.dtb' Hi, I have just learned that it is already possible to achieve the same thing by passing the dtbs explicitly to make and enabling the DTBS_CHECK flag like so: make CHECK_DTBS=y mediatek/mt8192-asurada-spherion-r0.dtb This flag isn't documented anywhere outside the Makefile however. So I'll send a patch documenting it shortly, and this commit can be ignored. Thanks, Nícolas
On Wed, Nov 02, 2022 at 01:13:48PM -0400, Nícolas F. R. A. Prado wrote: > On Tue, Nov 01, 2022 at 06:03:03PM -0400, Nícolas F. R. A. Prado wrote: > > Currently running dtbs_check compiles and runs the DT checker on all > > enabled devicetrees against all dt-bindings. This can take a long time, > > and is an unnecessary burden when just validating a new devicetree or > > changes in an existing one, with the dt-bindings unchanged. > > > > Similarly to DT_SCHEMA_FILES for dt_binding_check, add a DTB_FILES > > variable that can be passed to the dtbs_check make command to restrict > > which devicetrees are validated. > > > > Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> > > > > --- > > Usage example: > > make dtbs_check DTB_FILES='arch/arm64/boot/dts/mediatek/mt8192-asurada-spherion-r0.dtb arch/arm64/boot/dts/mediatek/mt8192-asurada-hayato-r1.dtb' > > Hi, > > I have just learned that it is already possible to achieve the same thing by > passing the dtbs explicitly to make and enabling the DTBS_CHECK flag like so: > > make CHECK_DTBS=y mediatek/mt8192-asurada-spherion-r0.dtb > > This flag isn't documented anywhere outside the Makefile however. So I'll send a > patch documenting it shortly, and this commit can be ignored. Patch: https://lore.kernel.org/all/20221102214300.309347-1-nfraprado@collabora.com Thanks, Nícolas
Hi Nícolas, On Tue, Nov 01, 2022 at 06:03:03PM -0400, Nícolas F. R. A. Prado wrote: > Currently running dtbs_check compiles and runs the DT checker on all > enabled devicetrees against all dt-bindings. This can take a long time, > and is an unnecessary burden when just validating a new devicetree or > changes in an existing one, with the dt-bindings unchanged. > > Similarly to DT_SCHEMA_FILES for dt_binding_check, add a DTB_FILES > variable that can be passed to the dtbs_check make command to restrict > which devicetrees are validated. > > Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> > > --- > Usage example: > make dtbs_check DTB_FILES='arch/arm64/boot/dts/mediatek/mt8192-asurada-spherion-r0.dtb arch/arm64/boot/dts/mediatek/mt8192-asurada-hayato-r1.dtb' Please add the usage example to the 'Running checks' section in Documentation/devicetree/bindings/writing-schema.rst -- Sebastian > scripts/Makefile.lib | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib > index ec391c6a2641..f3ac6d3632a2 100644 > --- a/scripts/Makefile.lib > +++ b/scripts/Makefile.lib > @@ -418,9 +418,16 @@ DT_CHECKER_FLAGS ?= $(if $(DT_SCHEMA_FILES),-l $(DT_SCHEMA_FILES),-m) > DT_BINDING_DIR := Documentation/devicetree/bindings > DT_TMP_SCHEMA := $(objtree)/$(DT_BINDING_DIR)/processed-schema.json > > +ifeq ($(DTB_FILES),) > quiet_cmd_dtb = DTC_CHK $@ > cmd_dtb = $(cmd_dtc) ; $(DT_CHECKER) $(DT_CHECKER_FLAGS) -u $(srctree)/$(DT_BINDING_DIR) -p $(DT_TMP_SCHEMA) $@ || true > else > +SHOULD_CHECK_DTB = $(filter $@,$(DTB_FILES)) > + > +quiet_cmd_dtb = $(if $(SHOULD_CHECK_DTB),DTC_CHK,DTC) $@ > + cmd_dtb = $(if $(SHOULD_CHECK_DTB), $(cmd_dtc) ; $(DT_CHECKER) $(DT_CHECKER_FLAGS) -u $(srctree)/$(DT_BINDING_DIR) -p $(DT_TMP_SCHEMA) $@ || true , $(cmd_dtc)) > +endif > +else > quiet_cmd_dtb = $(quiet_cmd_dtc) > cmd_dtb = $(cmd_dtc) > endif > -- > 2.38.1 > > > -- > To unsubscribe, send mail to kernel-unsubscribe@lists.collabora.co.uk.
Il 01/11/22 23:03, Nícolas F. R. A. Prado ha scritto: > Currently running dtbs_check compiles and runs the DT checker on all > enabled devicetrees against all dt-bindings. This can take a long time, > and is an unnecessary burden when just validating a new devicetree or > changes in an existing one, with the dt-bindings unchanged. > > Similarly to DT_SCHEMA_FILES for dt_binding_check, add a DTB_FILES > variable that can be passed to the dtbs_check make command to restrict > which devicetrees are validated. > > Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> > Tested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
© 2016 - 2024 Red Hat, Inc.