Commit ecd42fba authored by Masahiro Yamada's avatar Masahiro Yamada
Browse files

kbuild: unify cmd_dt_S_dtb and cmd_dt_S_dtbo



cmd_dt_S_dtb and cmd_dt_S_dtbo are almost the same; the only difference
is the prefix of the begin/end symbols. (__dtb vs __dtbo)

Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
Reviewed-by: default avatarNicolas Schier <nicolas@fjasle.eu>
parent ee2162bd
Loading
Loading
Loading
Loading
+15 −30
Original line number Diff line number Diff line
@@ -368,40 +368,25 @@ DTC_FLAGS += $(DTC_FLAGS_$(basetarget))
DTC_FLAGS += $(if $(filter $(patsubst $(obj)/%,%,$@), $(base-dtb-y)), -@)

# Generate an assembly file to wrap the output of the device tree compiler
quiet_cmd_dt_S_dtb= DTBS    $@
cmd_dt_S_dtb=						\
{							\
quiet_cmd_wrap_S_dtb = WRAP    $@
      cmd_wrap_S_dtb = {								\
		symbase=__$(patsubst .%,%,$(suffix $<))_$(subst -,_,$(notdir $*));	\
		echo '\#include <asm-generic/vmlinux.lds.h>';				\
		echo '.section .dtb.init.rodata,"a"';					\
		echo '.balign STRUCT_ALIGNMENT';					\
	echo '.global __dtb_$(subst -,_,$(*F))_begin';	\
	echo '__dtb_$(subst -,_,$(*F))_begin:';		\
		echo ".global $${symbase}_begin";					\
		echo "$${symbase}_begin:";						\
		echo '.incbin "$<" ';							\
	echo '__dtb_$(subst -,_,$(*F))_end:';		\
	echo '.global __dtb_$(subst -,_,$(*F))_end';	\
		echo ".global $${symbase}_end";						\
		echo "$${symbase}_end:";						\
		echo '.balign STRUCT_ALIGNMENT';					\
	} > $@

$(obj)/%.dtb.S: $(obj)/%.dtb FORCE
	$(call if_changed,dt_S_dtb)

# Generate an assembly file to wrap the output of the device tree compiler
quiet_cmd_dt_S_dtbo= DTBOS   $@
cmd_dt_S_dtbo=						\
{							\
	echo '\#include <asm-generic/vmlinux.lds.h>';	\
	echo '.section .dtb.init.rodata,"a"';		\
	echo '.balign STRUCT_ALIGNMENT';		\
	echo '.global __dtbo_$(subst -,_,$(*F))_begin';	\
	echo '__dtbo_$(subst -,_,$(*F))_begin:';	\
	echo '.incbin "$<" ';				\
	echo '__dtbo_$(subst -,_,$(*F))_end:';		\
	echo '.global __dtbo_$(subst -,_,$(*F))_end';	\
	echo '.balign STRUCT_ALIGNMENT';		\
} > $@
	$(call if_changed,wrap_S_dtb)

$(obj)/%.dtbo.S: $(obj)/%.dtbo FORCE
	$(call if_changed,dt_S_dtbo)
	$(call if_changed,wrap_S_dtb)

quiet_cmd_dtc = DTC     $@
cmd_dtc = $(HOSTCC) -E $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \