uboot-sunxi: fix build by adding comparabilities for old dtc
authorHauke Mehrtens <hauke@hauke-m.de>
Fri, 9 Feb 2018 22:53:47 +0000 (23:53 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 10 Feb 2018 14:39:00 +0000 (15:39 +0100)
We use the dtc from the kernel and that does not have all the options
which u-boot would like to use now. make these parameters optional.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
package/boot/uboot-sunxi/patches/220-compatible-old-dtc.patch [new file with mode: 0644]

diff --git a/package/boot/uboot-sunxi/patches/220-compatible-old-dtc.patch b/package/boot/uboot-sunxi/patches/220-compatible-old-dtc.patch
new file mode 100644 (file)
index 0000000..1b88de3
--- /dev/null
@@ -0,0 +1,52 @@
+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
+@@ -172,6 +172,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
+@@ -58,8 +58,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)))
+@@ -70,11 +70,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