summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorRob Herring <robh@kernel.org>2018-09-06 14:26:07 -0400
committerRob Herring <robh@kernel.org>2018-12-13 10:41:32 -0500
commit4f0e3a57d6eb727c54249542c509e0b7aa122465 (patch)
tree4358f78605d2badc24b54379b09711afc69cfabf /Makefile
parentccda4af0f4b92f7b4c308d3acc262f4a7e3affad (diff)
kbuild: Add support for DT binding schema checks
This adds the build infrastructure for checking DT binding schema documents and validating dts files using the binding schema. Check DT binding schema documents: make dt_binding_check Build dts files and check using DT binding schema: make dtbs_check Optionally, DT_SCHEMA_FILES can be passed in with a schema file(s) to use for validation. This makes it easier to find and fix errors generated by a specific schema. Currently, the validation targets are separate from a normal build to avoid a hard dependency on the external DT schema project and because there are lots of warnings generated. Cc: Jonathan Corbet <corbet@lwn.net> Cc: Mark Rutland <mark.rutland@arm.com> Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Michal Marek <michal.lkml@markovi.net> Cc: linux-doc@vger.kernel.org Cc: devicetree@vger.kernel.org Cc: linux-kbuild@vger.kernel.org Signed-off-by: Rob Herring <robh@kernel.org>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile13
1 files changed, 10 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 2f36db897895..a3e2db2a3119 100644
--- a/Makefile
+++ b/Makefile
@@ -1232,10 +1232,13 @@ ifneq ($(dtstree),)
1232%.dtb: prepare3 scripts_dtc 1232%.dtb: prepare3 scripts_dtc
1233 $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@ 1233 $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
1234 1234
1235PHONY += dtbs dtbs_install 1235PHONY += dtbs dtbs_install dt_binding_check
1236dtbs: prepare3 scripts_dtc 1236dtbs dtbs_check: prepare3 scripts_dtc
1237 $(Q)$(MAKE) $(build)=$(dtstree) 1237 $(Q)$(MAKE) $(build)=$(dtstree)
1238 1238
1239dtbs_check: export CHECK_DTBS=1
1240dtbs_check: dt_binding_check
1241
1239dtbs_install: 1242dtbs_install:
1240 $(Q)$(MAKE) $(dtbinst)=$(dtstree) 1243 $(Q)$(MAKE) $(dtbinst)=$(dtstree)
1241 1244
@@ -1249,6 +1252,9 @@ PHONY += scripts_dtc
1249scripts_dtc: scripts_basic 1252scripts_dtc: scripts_basic
1250 $(Q)$(MAKE) $(build)=scripts/dtc 1253 $(Q)$(MAKE) $(build)=scripts/dtc
1251 1254
1255dt_binding_check: scripts_dtc
1256 $(Q)$(MAKE) $(build)=Documentation/devicetree/bindings
1257
1252# --------------------------------------------------------------------------- 1258# ---------------------------------------------------------------------------
1253# Modules 1259# Modules
1254 1260
@@ -1611,7 +1617,8 @@ clean: $(clean-dirs)
1611 $(call cmd,rmfiles) 1617 $(call cmd,rmfiles)
1612 @find $(if $(KBUILD_EXTMOD), $(KBUILD_EXTMOD), .) $(RCS_FIND_IGNORE) \ 1618 @find $(if $(KBUILD_EXTMOD), $(KBUILD_EXTMOD), .) $(RCS_FIND_IGNORE) \
1613 \( -name '*.[aios]' -o -name '*.ko' -o -name '.*.cmd' \ 1619 \( -name '*.[aios]' -o -name '*.ko' -o -name '.*.cmd' \
1614 -o -name '*.ko.*' -o -name '*.dtb' -o -name '*.dtb.S' \ 1620 -o -name '*.ko.*' \
1621 -o -name '*.dtb' -o -name '*.dtb.S' -o -name '*.dt.yaml' \
1615 -o -name '*.dwo' -o -name '*.lst' \ 1622 -o -name '*.dwo' -o -name '*.lst' \
1616 -o -name '*.su' \ 1623 -o -name '*.su' \
1617 -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \ 1624 -o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \