Message ID | 20221101220304.65715-1-nfraprado@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | kbuild: Add DTB_FILES variable for dtbs_check | expand |
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>
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.
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
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
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(+)