Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 17d0350f authored by Colin Cross's avatar Colin Cross Committed by John Stultz
Browse files

ARM: convert build of appended dtb zImage to list of dtbs



Allow CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES to specify
a space separated list of dtbs to append to the zImage,
and name the resulting file zImage-dtb

Change-Id: Ied5d0bafbd1d01fc1f109c15c4283de7029903c9
Signed-off-by: default avatarColin Cross <ccross@android.com>
parent d7a9d618
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -1857,16 +1857,16 @@ config BUILD_ARM_APPENDED_DTB_IMAGE
	bool "Build a concatenated zImage/dtb by default"
	depends on OF
	help
	  Enabling this option will cause a concatenated zImage and DTB to
	  be built by default (instead of a standalone zImage.)  The image
	  will built in arch/arm/boot/zImage-dtb.<dtb name>
	  Enabling this option will cause a concatenated zImage and list of
	  DTBs to be built by default (instead of a standalone zImage.)
	  The image will built in arch/arm/boot/zImage-dtb

config BUILD_ARM_APPENDED_DTB_IMAGE_NAME
	string "Default dtb name"
config BUILD_ARM_APPENDED_DTB_IMAGE_NAMES
	string "Default dtb names"
	depends on BUILD_ARM_APPENDED_DTB_IMAGE
	help
	  name of the dtb to append when building a concatenated
	  zImage/dtb.
	  Space separated list of names of dtbs to append when
	  building a concatenated zImage-dtb.

# Compressed boot loader in ROM.  Yes, we really want to ask about
# TEXT and BSS so we preserve their values in the config files.
+4 −1
Original line number Diff line number Diff line
@@ -297,7 +297,7 @@ libs-y := arch/arm/lib/ $(libs-y)
ifeq ($(CONFIG_XIP_KERNEL),y)
KBUILD_IMAGE := xipImage
else ifeq ($(CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE),y)
KBUILD_IMAGE := zImage-dtb.$(CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAME)
KBUILD_IMAGE := zImage-dtb
else
KBUILD_IMAGE := zImage
endif
@@ -348,6 +348,9 @@ ifeq ($(CONFIG_VDSO),y)
	$(Q)$(MAKE) $(build)=arch/arm/vdso $@
endif

zImage-dtb: vmlinux scripts dtbs
	$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@

# We use MRPROPER_FILES and CLEAN_FILES now
archclean:
	$(Q)$(MAKE) $(clean)=$(boot)
+1 −0
Original line number Diff line number Diff line
@@ -4,3 +4,4 @@ xipImage
bootpImage
uImage
*.dtb
zImage-dtb
 No newline at end of file
+12 −0
Original line number Diff line number Diff line
@@ -28,6 +28,14 @@ export ZRELADDR INITRD_PHYS PARAMS_PHYS

targets := Image zImage xipImage bootpImage uImage

DTB_NAMES := $(subst $\",,$(CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES))
ifneq ($(DTB_NAMES),)
DTB_LIST := $(addsuffix .dtb,$(DTB_NAMES))
else
DTB_LIST := $(dtb-y)
endif
DTB_OBJS := $(addprefix $(obj)/dts/,$(DTB_LIST))

ifeq ($(CONFIG_XIP_KERNEL),y)

$(obj)/xipImage: vmlinux FORCE
@@ -56,6 +64,10 @@ $(obj)/zImage: $(obj)/compressed/vmlinux FORCE
	$(call if_changed,objcopy)
	@$(kecho) '  Kernel: $@ is ready'

$(obj)/zImage-dtb:	$(obj)/zImage $(DTB_OBJS) FORCE
	$(call if_changed,cat)
	@echo '  Kernel: $@ is ready'

endif

ifneq ($(LOADADDR),)
+11 −1
Original line number Diff line number Diff line
@@ -782,5 +782,15 @@ endif
dtstree		:= $(srctree)/$(src)
dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts))

always		:= $(dtb-y)
DTB_NAMES := $(subst $\",,$(CONFIG_BUILD_ARM_APPENDED_DTB_IMAGE_NAMES))
ifneq ($(DTB_NAMES),)
DTB_LIST := $(addsuffix .dtb,$(DTB_NAMES))
else
DTB_LIST := $(dtb-y)
endif

targets += dtbs dtbs_install
targets += $(DTB_LIST)

always		:= $(DTB_LIST)
clean-files	:= *.dtb
Loading