On Tue, May 28, 2024 at 10:16 PM Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> wrote: > > On Tue, 28 May 2024 at 16:15, Rob Herring <robh@xxxxxxxxxx> wrote: > > > > On Mon, May 27, 2024 at 6:34 AM Dmitry Baryshkov > > <dmitry.baryshkov@xxxxxxxxxx> wrote: > > > > > > Currently only the single part device trees are validated against DT > > > schema. For the multipart schema files only the first file is validated. > > > > What do you mean by multipart schema files? Did you mean multipart DTs > > (i.e. base plus overlays)? > > Yes, multipart DT files, dts + dtso => dtb + dtbo => final dtb > > > > > Looks good otherwise and I can fix that up. > > Awesome, thanks! This looks equivalent to the former patch rejected by Rob Herring: https://lore.kernel.org/lkml/20240225151209.343160-1-alexander.stein@xxxxxxxxxxx/ Did he change his mind since then? > > > > > Extend the fdtoverlay commands to validate the resulting DTB file > > > against schema. > > > > > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> > > > --- > > > scripts/Makefile.lib | 9 ++++++++- > > > 1 file changed, 8 insertions(+), 1 deletion(-) > > > > > > diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib > > > index 9f06f6aaf7fc..29da0dc9776d 100644 > > > --- a/scripts/Makefile.lib > > > +++ b/scripts/Makefile.lib > > > @@ -407,8 +407,15 @@ cmd_dtc = $(HOSTCC) -E $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; > > > -d $(depfile).dtc.tmp $(dtc-tmp) ; \ > > > cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile) > > > > > > +DT_CHECK_CMD = $(DT_CHECKER) $(DT_CHECKER_FLAGS) -u $(srctree)/$(DT_BINDING_DIR) -p $(DT_TMP_SCHEMA) > > > + > > > +ifneq ($(CHECK_DTBS),) > > > +quiet_cmd_fdtoverlay = DTOVLCH $@ > > > + cmd_fdtoverlay = $(objtree)/scripts/dtc/fdtoverlay -o $@ -i $(real-prereqs) ; $(DT_CHECK_CMD) $@ || true > > > +else > > > quiet_cmd_fdtoverlay = DTOVL $@ > > > cmd_fdtoverlay = $(objtree)/scripts/dtc/fdtoverlay -o $@ -i $(real-prereqs) > > > +endif > > > > > > $(multi-dtb-y): FORCE > > > $(call if_changed,fdtoverlay) > > > @@ -421,7 +428,7 @@ DT_BINDING_DIR := Documentation/devicetree/bindings > > > DT_TMP_SCHEMA := $(objtree)/$(DT_BINDING_DIR)/processed-schema.json > > > > > > quiet_cmd_dtb = DTC_CHK $@ > > > - cmd_dtb = $(cmd_dtc) ; $(DT_CHECKER) $(DT_CHECKER_FLAGS) -u $(srctree)/$(DT_BINDING_DIR) -p $(DT_TMP_SCHEMA) $@ || true > > > + cmd_dtb = $(cmd_dtc) ; $(DT_CHECK_CMD) $@ || true > > > else > > > quiet_cmd_dtb = $(quiet_cmd_dtc) > > > cmd_dtb = $(cmd_dtc) > > > > > > --- > > > base-commit: 8314289a8d50a4e05d8ece1ae0445a3b57bb4d3b > > > change-id: 20240527-dtbo-check-schema-4f695cb98de5 > > > > > > Best regards, > > > -- > > > Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> > > > > > > > -- > With best wishes > Dmitry -- Best Regards Masahiro Yamada