Revert the commit c0e032e0090d65 ("scripts/dtc: Update to upstream version v1.4.3") OpenWrt uses the dtc from the kernel also in u-boot, but when we compile against kernel 4.9 we run into some errors because it is too old now. Add the options only when they are supported to make it compatible with dtc from kernel 4.9. --- a/scripts/Kbuild.include +++ b/scripts/Kbuild.include @@ -173,6 +173,11 @@ ld-version = $(shell $(LD) --version | $ # Usage: $(call ld-ifversion, -ge, 22252, y) ld-ifversion = $(shell [ $(ld-version) $(1) $(2) ] && echo $(3) || echo $(4)) +# dtc-option +# Usage: DTC_FLAGS += $(call dtc-option,-Wno-unit_address_vs_reg) +dtc-option = $(call try-run,\ + echo '/dts-v1/; / {};' | $(DTC) $(1),$(1),$(2)) + ###### ### --- a/scripts/Makefile.extrawarn +++ b/scripts/Makefile.extrawarn @@ -56,8 +56,8 @@ endif KBUILD_CFLAGS += $(warning) -dtc-warning-2 += -Wnode_name_chars_strict -dtc-warning-2 += -Wproperty_name_chars_strict +dtc-warning-2 += $(call dtc-option,-Wnode_name_chars_strict) +dtc-warning-2 += $(call dtc-option,-Wproperty_name_chars_strict) dtc-warning := $(dtc-warning-$(findstring 1, $(KBUILD_ENABLE_EXTRA_GCC_CHECKS))) dtc-warning += $(dtc-warning-$(findstring 2, $(KBUILD_ENABLE_EXTRA_GCC_CHECKS))) @@ -68,11 +68,11 @@ DTC_FLAGS += $(dtc-warning) else # Disable noisy checks by default -DTC_FLAGS += -Wno-unit_address_vs_reg -DTC_FLAGS += -Wno-simple_bus_reg -DTC_FLAGS += -Wno-unit_address_format -DTC_FLAGS += -Wno-pci_bridge -DTC_FLAGS += -Wno-pci_device_bus_num -DTC_FLAGS += -Wno-pci_device_reg +DTC_FLAGS += $(call dtc-option,-Wno-unit_address_vs_reg) +DTC_FLAGS += $(call dtc-option,-Wno-simple_bus_reg) +DTC_FLAGS += $(call dtc-option,-Wno-unit_address_format) +DTC_FLAGS += $(call dtc-option,-Wno-pci_bridge) +DTC_FLAGS += $(call dtc-option,-Wno-pci_device_bus_num) +DTC_FLAGS += $(call dtc-option,-Wno-pci_device_reg) endif