From b7baaaf782f40bf6a1d017a1f41480b6229a12c9 Mon Sep 17 00:00:00 2001
From: Ben Whitten <ben.whitten@lairdtech.com>
Date: Fri, 17 Jun 2016 15:00:17 +0100
Subject: [PATCH] kernel: Move append-dtb to common image-commands

This build step is used by various targets, move it to a common section.

Signed-off-by: Ben Whitten <ben.whitten@gmail.com>
---
 include/image-commands.mk            |  5 +++++
 target/linux/bcm53xx/image/Makefile  | 12 +++---------
 target/linux/brcm63xx/image/Makefile |  8 ++------
 target/linux/ipq806x/image/Makefile  |  4 ----
 target/linux/kirkwood/image/Makefile |  4 ----
 target/linux/lantiq/image/Makefile   |  8 ++------
 6 files changed, 12 insertions(+), 29 deletions(-)

diff --git a/include/image-commands.mk b/include/image-commands.mk
index e156eb6004..e8549d46f6 100644
--- a/include/image-commands.mk
+++ b/include/image-commands.mk
@@ -38,6 +38,11 @@ define Build/tplink-safeloader
 		$(if $(findstring sysupgrade,$(word 1,$(1))),-S) && mv $@.new $@ || rm -f $@
 endef
 
+define Build/append-dtb
+    $(if $(DEVICE_DTS_DIR),$(call Image/BuildDTB,$(DEVICE_DTS_DIR)/$(DEVICE_DTS).dts,$(DTS_DIR)/$(DEVICE_DTS).dtb))
+    cat $(DTS_DIR)/$(DEVICE_DTS).dtb >> $@
+endef
+
 define Build/fit
 	$(TOPDIR)/scripts/mkits.sh \
 		-D $(DEVICE_NAME) -o $@.its -k $@ \
diff --git a/target/linux/bcm53xx/image/Makefile b/target/linux/bcm53xx/image/Makefile
index 04e418d1e9..052900053e 100644
--- a/target/linux/bcm53xx/image/Makefile
+++ b/target/linux/bcm53xx/image/Makefile
@@ -8,8 +8,6 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/image.mk
 
 define Image/Prepare
-	$(CP) $(DTS_DIR)/*.dtb $(KDIR)/
-
 	rm -f $(KDIR)/fs_mark
 	echo -ne '\xde\xad\xc0\xde' > $(KDIR)/fs_mark
 	$(call prepare_generic_squashfs,$(KDIR)/fs_mark)
@@ -21,10 +19,6 @@ define Image/Prepare
 	$(CP) ./ubinize.cfg $(KDIR)
 endef
 
-define Build/append-dtb
-	cat $(KDIR)/$(DT).dtb >> $@
-endef
-
 define Build/lzma-d16
 	$(STAGING_DIR_HOST)/bin/lzma e $@ -d16 $(1) $@.new
 	@mv $@.new $@
@@ -78,14 +72,14 @@ define Build/seama-nand
 		-i $@.entity
 endef
 
-DEVICE_VARS += DT PRODUCTID SIGNATURE NETGEAR_BOARD_ID NETGEAR_REGION
+DEVICE_VARS += DEVICE_DTS PRODUCTID SIGNATURE NETGEAR_BOARD_ID NETGEAR_REGION
 
 define Device/Default
   # .dtb files are prefixed by SoC type, e.g. bcm4708- which is not included in device/image names
   # extract the full dtb name based on the device info
-  DT := $(patsubst %.dtb,%,$(notdir $(wildcard $(if $(IB),$(KDIR),$(DTS_DIR))/*-$(1).dtb)))
+  DEVICE_DTS := $(patsubst %.dtb,%,$(notdir $(wildcard $(if $(IB),$(KDIR),$(DTS_DIR))/*-$(1).dtb)))
   KERNEL := kernel-bin | append-dtb | lzma-d16
-  KERNEL_DEPENDS = $$(wildcard $(KDIR)/$$(DT).dts)
+  KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
   FILESYSTEMS := squashfs
   KERNEL_NAME := zImage
   IMAGE_NAME = $$(IMAGE_PREFIX)-$$(1).$$(2)
diff --git a/target/linux/brcm63xx/image/Makefile b/target/linux/brcm63xx/image/Makefile
index d2a381431d..2c82c34363 100644
--- a/target/linux/brcm63xx/image/Makefile
+++ b/target/linux/brcm63xx/image/Makefile
@@ -34,11 +34,6 @@ define Build/Compile
 endef
 
 ### Kernel scripts ###
-define Build/append-dtb
-	$(call Image/BuildDTB,../dts/$(DEVICE_DTS).dts,$@.dtb)
-	cat $@.dtb >> $@
-endef
-
 define Build/hcs-initramfs
 	$(STAGING_DIR_HOST)/bin/hcsmakeimage --magic_bytes=$(HCS_MAGIC_BYTES) \
 		--rev_maj=$(HCS_REV_MAJ) --rev_min=$(HCS_REV_MIN) --input_file=$@ \
@@ -171,8 +166,9 @@ define Device/Default
   KERNEL_DEPENDS = $$(wildcard ../dts/$$(DEVICE_DTS).dts)
   KERNEL_INITRAMFS_SUFFIX := .elf
   DEVICE_DTS :=
+  DEVICE_DTS_DIR := ../dts
 endef
-DEVICE_VARS += DEVICE_DTS
+DEVICE_VARS += DEVICE_DTS DEVICE_DTS_DIR
 
 ATH5K_PACKAGES := kmod-ath5k wpad-mini
 ATH9K_PACKAGES := kmod-ath9k wpad-mini
diff --git a/target/linux/ipq806x/image/Makefile b/target/linux/ipq806x/image/Makefile
index 43de23e1a7..7606634fdb 100644
--- a/target/linux/ipq806x/image/Makefile
+++ b/target/linux/ipq806x/image/Makefile
@@ -32,10 +32,6 @@ define Image/Build
 	dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-$(1)-root.img bs=2k conv=sync
 endef
 
-define Build/append-dtb
-	cat $(DTS_DIR)/$(DEVICE_DTS).dtb >> $@
-endef
-
 define Build/append-file
 	cat $(1) >> $@
 endef
diff --git a/target/linux/kirkwood/image/Makefile b/target/linux/kirkwood/image/Makefile
index 0027e74e13..1a36bf4500 100644
--- a/target/linux/kirkwood/image/Makefile
+++ b/target/linux/kirkwood/image/Makefile
@@ -75,10 +75,6 @@ define Device/linksys-viper
   IMAGE/sysupgrade.tar := sysupgrade-nand
 endef
 
-define Build/append-dtb
-	cat $(DTS_DIR)/$(DEVICE_DTS).dtb >> $@
-endef
-
 define Image/BuildKernel/Template
 
 	$(CP) $(KDIR)/zImage $(BIN_DIR)/$(IMG_PREFIX)-zImage
diff --git a/target/linux/lantiq/image/Makefile b/target/linux/lantiq/image/Makefile
index a54c3e212b..f76f6db790 100644
--- a/target/linux/lantiq/image/Makefile
+++ b/target/linux/lantiq/image/Makefile
@@ -174,11 +174,6 @@ endef
 
 
 ### Kernel scripts ###
-define Build/append-dtb
-	$(call Image/BuildDTB,../dts/$(DEVICE_DTS).dts,$@.dtb)
-	cat $@.dtb >> $@
-endef
-
 define Build/mkbrncmdline
    mkbrncmdline -i $@ -o $@.new BRN-BOOT
    mv $@.new $@
@@ -213,11 +208,12 @@ define Device/Default
   FILESYSTEMS := squashfs
   DEVICE_PROFILE :=
   DEVICE_DTS = $$(DEVICE_PROFILE)
+  DEVICE_DTS_DIR := ../dts
   IMAGE_SIZE :=
   IMAGES := sysupgrade.bin
   IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
 endef
-DEVICE_VARS += DEVICE_PROFILE DEVICE_DTS IMAGE_SIZE
+DEVICE_VARS += DEVICE_PROFILE DEVICE_DTS DEVICE_DTS_DIR IMAGE_SIZE
 
 define Device/lantiqBrnImage
   KERNEL := kernel-bin | append-dtb | mkbrncmdline | lzma-no-dict
-- 
GitLab