summaryrefslogtreecommitdiffstats
path: root/scripts/dtc
diff options
context:
space:
mode:
authorMasahiro Yamada <masahiroy@kernel.org>2020-03-04 04:20:38 +0100
committerMasahiro Yamada <masahiroy@kernel.org>2020-03-13 02:04:36 +0100
commit9dffecc1339b1f446213a9ba2f19579d9db4d7c7 (patch)
tree19926480a9bc4fddb560eec79e7ec2a0d78ccd04 /scripts/dtc
parentkbuild: allow to run dt_binding_check and dtbs_check in a single command (diff)
downloadlinux-9dffecc1339b1f446213a9ba2f19579d9db4d7c7.tar.xz
linux-9dffecc1339b1f446213a9ba2f19579d9db4d7c7.zip
kbuild: allow to run dt_binding_check without kernel configuration
The dt_binding_check target is located outside of the 'ifneq ($(dtstree),) ... endif' block. So, you can run 'make dt_binding_check' on any architecture. This makes a perfect sense because the dt-schema is arch-agnostic. The only one problem I see is that scripts/dtc/dtc is not always built. For example, ARCH=x86 defconfig does not define CONFIG_DTC. Kbuild descends into scripts/dtc/ with doing nothing. Then, it fails to build *.example.dt.yaml files. Let's build scripts/dtc/dtc forcibly when running dt_binding_check. The dt-schema does not depend on any CONFIG option either, so you should be able to run dt_binding_check without the .config file. Going forward, you can directly run 'make dt_binding_check' in a pristine source tree. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Reviewed-by: Rob Herring <robh@kernel.org>
Diffstat (limited to 'scripts/dtc')
-rw-r--r--scripts/dtc/Makefile5
1 files changed, 3 insertions, 2 deletions
diff --git a/scripts/dtc/Makefile b/scripts/dtc/Makefile
index 3acbb410904c..2f3c3a7e1620 100644
--- a/scripts/dtc/Makefile
+++ b/scripts/dtc/Makefile
@@ -1,8 +1,9 @@
# SPDX-License-Identifier: GPL-2.0
# scripts/dtc makefile
-hostprogs := dtc
-always-$(CONFIG_DTC) := $(hostprogs)
+hostprogs := dtc
+always-$(CONFIG_DTC) += $(hostprogs)
+always-$(CHECK_DT_BINDING) += $(hostprogs)
dtc-objs := dtc.o flattree.o fstree.o data.o livetree.o treesource.o \
srcpos.o checks.o util.o