[PATCH] kbuild: Add dtc flag test
From: Elliot Berman <hidden>
Date: 2020-08-05 19:17:33
Also in:
linux-kbuild, lkml
Subsystem:
kernel build + files below scripts/ (unless maintained elsewhere), the rest · Maintainers:
Nathan Chancellor, Nicolas Schier, Linus Torvalds
Host dtc may not support the same flags as kernel's copy of dtc. Test if dtc supports each flag when the dtc comes from host. Signed-off-by: Elliot Berman <redacted> --- scripts/Makefile.lib | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-)
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 841ac03..2722a67 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib@@ -274,25 +274,35 @@ quiet_cmd_gzip = GZIP $@ # DTC # --------------------------------------------------------------------------- +ifeq ("$(origin DTC)", "command line") +PHONY += $(DTC) +dtc-option = $(call try-run, $(DTC) $1 -v,$1) +else +# Just add the flag. DTC is compiled later as a prerequisite, so there's no dtc +# to test the flag against. This is okay because we're not testing flags which +# aren't supported by in-kernel dtc to begin with. +dtc-option = $1 +endif + DTC ?= $(objtree)/scripts/dtc/dtc -DTC_FLAGS += -Wno-interrupt_provider +DTC_FLAGS += $(call dtc-option,-Wno-interrupt_provider) # Disable noisy checks by default ifeq ($(findstring 1,$(KBUILD_EXTRA_WARN)),) -DTC_FLAGS += -Wno-unit_address_vs_reg \ - -Wno-unit_address_format \ - -Wno-avoid_unnecessary_addr_size \ - -Wno-alias_paths \ - -Wno-graph_child_address \ - -Wno-simple_bus_reg \ - -Wno-unique_unit_address \ - -Wno-pci_device_reg +DTC_FLAGS += $(call dtc-option,-Wno-unit_address_vs_reg) \ + $(call dtc-option,-Wno-unit_address_format) \ + $(call dtc-option,-Wno-avoid_unnecessary_addr_size) \ + $(call dtc-option,-Wno-alias_paths) \ + $(call dtc-option,-Wno-graph_child_address) \ + $(call dtc-option,-Wno-simple_bus_reg) \ + $(call dtc-option,-Wno-unique_unit_address) \ + $(call dtc-option,-Wno-pci_device_reg) endif ifneq ($(findstring 2,$(KBUILD_EXTRA_WARN)),) -DTC_FLAGS += -Wnode_name_chars_strict \ - -Wproperty_name_chars_strict \ - -Winterrupt_provider +DTC_FLAGS += $(call dtc-option,-Wnode_name_chars_strict) \ + $(call dtc-option,-Wproperty_name_chars_strict) \ + $(call dtc-option,-Winterrupt_provider) endif DTC_FLAGS += $(DTC_FLAGS_$(basetarget))
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project