Thread (2 messages) 2 messages, 2 authors, 2020-08-06

Re: [PATCH] kbuild: Add dtc flag test

From: Masahiro Yamada <masahiroy@kernel.org>
Date: 2020-08-06 02:22:37
Also in: linux-kbuild, lkml

On Thu, Aug 6, 2020 at 2:59 AM Elliot Berman [off-list ref] wrote:
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>

I think this supports only the newer external DTC,
but not older ones.

This feature is intended to test the upstream DTC
before resyncing in-kernel scripts/dtc/.





quoted hunk ↗ jump to hunk
---
 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

-- 
Best Regards
Masahiro Yamada
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help