Makefile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
While not documented, schema checks for single dtb targets mostly work
already by setting 'CHECK_DTBS=1'. However, the dependencies are not
handled and it only works if 'make dt_bindings_check' was run first and
generated processed-schema.json. In addition, changing a binding file
doesn't cause the schema to be rebuilt and dtb to be revalidated.
Making this work turns out to be simple. Whenever CHECK_DTBS is set,
make 'dt_binding_check' a 'dtbs_prepare' dependency.
I reimplemented here what Masahiro had originally come up with a while
back.
Cc: Marek Vasut <marex@denx.de>
Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Rob Herring <robh@kernel.org>
---
Makefile | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 6aa709df6bde..a99d5c4de0fc 100644
--- a/Makefile
+++ b/Makefile
@@ -1467,7 +1467,10 @@ dtbs_prepare: include/config/kernel.release scripts_dtc
ifneq ($(filter dtbs_check, $(MAKECMDGOALS)),)
export CHECK_DTBS=y
-dtbs: dt_binding_check
+endif
+
+ifneq ($(CHECK_DTBS),)
+dtbs_prepare: dt_binding_check
endif
dtbs_check: dtbs
--
2.35.1
On Tue, Dec 20, 2022 at 10:32 AM Rob Herring <robh@kernel.org> wrote: > > While not documented, schema checks for single dtb targets mostly work > already by setting 'CHECK_DTBS=1'. However, the dependencies are not > handled and it only works if 'make dt_bindings_check' was run first and > generated processed-schema.json. In addition, changing a binding file > doesn't cause the schema to be rebuilt and dtb to be revalidated. > > Making this work turns out to be simple. Whenever CHECK_DTBS is set, > make 'dt_binding_check' a 'dtbs_prepare' dependency. > > I reimplemented here what Masahiro had originally come up with a while > back. Oh, I just recalled this patch. https://lore.kernel.org/all/CAA8EJprdCftvie3UF9QpCWr9oQ5SQbqW8OPOHg0qigf9=RXU-w@mail.gmail.com/T/#m2ce6b1de3c74333645831399c0d1775129d7661a Dritry tested it. Suggested-by: Masahiro Yamada <masahiroy@kernel.org> Acked-by: Masahiro Yamada <masahiroy@kernel.org> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > > Cc: Marek Vasut <marex@denx.de> > Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > Signed-off-by: Rob Herring <robh@kernel.org> > --- > Makefile | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/Makefile b/Makefile > index 6aa709df6bde..a99d5c4de0fc 100644 > --- a/Makefile > +++ b/Makefile > @@ -1467,7 +1467,10 @@ dtbs_prepare: include/config/kernel.release scripts_dtc > > ifneq ($(filter dtbs_check, $(MAKECMDGOALS)),) > export CHECK_DTBS=y > -dtbs: dt_binding_check > +endif > + > +ifneq ($(CHECK_DTBS),) > +dtbs_prepare: dt_binding_check > endif > > dtbs_check: dtbs > -- > 2.35.1 > -- Best Regards Masahiro Yamada
On 12/20/22 02:32, Rob Herring wrote: > While not documented, schema checks for single dtb targets mostly work > already by setting 'CHECK_DTBS=1'. However, the dependencies are not > handled and it only works if 'make dt_bindings_check' was run first and > generated processed-schema.json. In addition, changing a binding file > doesn't cause the schema to be rebuilt and dtb to be revalidated. > > Making this work turns out to be simple. Whenever CHECK_DTBS is set, > make 'dt_binding_check' a 'dtbs_prepare' dependency. > > I reimplemented here what Masahiro had originally come up with a while > back. > > Cc: Marek Vasut <marex@denx.de> > Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > Signed-off-by: Rob Herring <robh@kernel.org> > --- > Makefile | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/Makefile b/Makefile > index 6aa709df6bde..a99d5c4de0fc 100644 > --- a/Makefile > +++ b/Makefile > @@ -1467,7 +1467,10 @@ dtbs_prepare: include/config/kernel.release scripts_dtc > > ifneq ($(filter dtbs_check, $(MAKECMDGOALS)),) > export CHECK_DTBS=y > -dtbs: dt_binding_check > +endif > + > +ifneq ($(CHECK_DTBS),) > +dtbs_prepare: dt_binding_check > endif > > dtbs_check: dtbs Tested-by: Marek Vasut <marex@denx.de> Thank you!
© 2016 - 2025 Red Hat, Inc.