From 8c7b944adbf1211d8b60bc6618c17ca959514b10 Mon Sep 17 00:00:00 2001 From: Vijayenthiran Subramaniam Date: Sat, 8 Feb 2020 21:27:30 +0530 Subject: [PATCH 1/2] build_macros: add create sequence helper function Add `CREATE_SEQ` function to generate sequence of numbers starting from 1 to allow easy comparison of a user defined macro with non-zero positive numbers. Change-Id: Ibcb336a223d958154b1007d08c428fbaf1e48664 Signed-off-by: Vijayenthiran Subramaniam --- make_helpers/build_macros.mk | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/make_helpers/build_macros.mk b/make_helpers/build_macros.mk index 1fa26cc2b..b6925d3b1 100644 --- a/make_helpers/build_macros.mk +++ b/make_helpers/build_macros.mk @@ -67,6 +67,17 @@ $(foreach d,$(0-9),$(eval __numeric := $(subst $(d),,$(__numeric)))) $(if $(__numeric),$(error $(1) must be numeric)) endef +# CREATE_SEQ is a recursive function to create sequence of numbers from 1 to +# $(2) and assign the sequence to $(1) +define CREATE_SEQ +$(if $(word $(2), $($(1))),\ + $(eval $(1) += $(words $($(1))))\ + $(eval $(1) := $(filter-out 0,$($(1)))),\ + $(eval $(1) += $(words $($(1))))\ + $(call CREATE_SEQ,$(1),$(2))\ +) +endef + # IMG_LINKERFILE defines the linker script corresponding to a BL stage # $(1) = BL stage (2, 30, 31, 32, 33) define IMG_LINKERFILE From 9b229b4495d04dff46dea0e8e8fabd7f2c6ba753 Mon Sep 17 00:00:00 2001 From: Vijayenthiran Subramaniam Date: Wed, 12 Feb 2020 13:26:33 +0530 Subject: [PATCH 2/2] board/rdn1edge: use CREATE_SEQ helper macro to compare chip count Use CREATE_SEQ helper macro to create sequence of valid chip counts instead of manually creating the sequence. This allows a scalable approach to increase the valid chip count sequence in the future. Change-Id: I5ca7a00460325c156b9e9e52b2bf656a2e43f82d Signed-off-by: Vijayenthiran Subramaniam --- plat/arm/board/rdn1edge/platform.mk | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plat/arm/board/rdn1edge/platform.mk b/plat/arm/board/rdn1edge/platform.mk index 99bb71d79..135676d43 100644 --- a/plat/arm/board/rdn1edge/platform.mk +++ b/plat/arm/board/rdn1edge/platform.mk @@ -51,8 +51,9 @@ NT_FW_CONFIG := ${BUILD_PLAT}/fdts/${PLAT}_nt_fw_config.dtb # Add the NT_FW_CONFIG to FIP and specify the same to certtool $(eval $(call TOOL_ADD_PAYLOAD,${NT_FW_CONFIG},--nt-fw-config)) -ifneq ($(CSS_SGI_CHIP_COUNT),$(filter $(CSS_SGI_CHIP_COUNT),1 2)) - $(error "Chip count for RDN1Edge platform should either 1 or 2, currently \ +$(eval $(call CREATE_SEQ,SEQ,2)) +ifneq ($(CSS_SGI_CHIP_COUNT),$(filter $(CSS_SGI_CHIP_COUNT),$(SEQ))) + $(error "Chip count for RDN1Edge platform should be one of $(SEQ), currently \ set to ${CSS_SGI_CHIP_COUNT}.") endif