Commit 9dffecc1 authored by Masahiro Yamada's avatar Masahiro Yamada
Browse files

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: default avatarMasahiro Yamada <masahiroy@kernel.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
parent e10c4321
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -255,7 +255,7 @@ clean-targets := %clean mrproper cleandocs
no-dot-config-targets := $(clean-targets) \
			 cscope gtags TAGS tags help% %docs check% coccicheck \
			 $(version_h) headers headers_% archheaders archscripts \
			 %asm-generic kernelversion %src-pkg
			 %asm-generic kernelversion %src-pkg dt_binding_check
no-sync-config-targets := $(no-dot-config-targets) install %install \
			   kernelrelease
single-targets := %.a %.i %.ko %.lds %.ll %.lst %.mod %.o %.s %.symtypes %/
+3 −2
Original line number Diff line number Diff line
@@ -2,7 +2,8 @@
# scripts/dtc makefile

hostprogs			:= dtc
always-$(CONFIG_DTC)	:= $(hostprogs)
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