From b8c492068bc80f04b8d96df79e7f98b2879877c6 Mon Sep 17 00:00:00 2001 From: Grzegorz Szymaszek Date: Sat, 30 Sep 2023 17:59:57 +0200 Subject: [PATCH] board/stm32mp157: remove hardcoded device tree names from post-image.sh The post-image.sh script is used in several STM32MP157-based board configs. It had hardcoded device tree file names for the supported boards which were used for matching the expected TF-A binary name. Replace this mechanism with a pair of grep and sed that build the TF-A binary name from the device tree file name. For example, if BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES contained DTB_FILE_NAME=stm32mp157c-dk2.dtb, the appropriate TF-A file would be named tf-a-stm32mp157c-dk2.stm32. Since the Bash Here Strings are removed with this change, I took the opportunity to remove the only other non-POSIX command, "local", and then I was able to change the shebang to plain /bin/sh, with -eu for simpler error handling. Signed-off-by: Grzegorz Szymaszek Signed-off-by: Peter Korsgaard --- .../common/stm32mp157/post-image.sh | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/board/stmicroelectronics/common/stm32mp157/post-image.sh b/board/stmicroelectronics/common/stm32mp157/post-image.sh index 363c3127cf..65809e46a4 100755 --- a/board/stmicroelectronics/common/stm32mp157/post-image.sh +++ b/board/stmicroelectronics/common/stm32mp157/post-image.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/bin/sh -eu # # atf_image extracts the ATF binary image from DTB_FILE_NAME that appears in @@ -8,22 +8,18 @@ # atf_image() { - local ATF_VARIABLES="$(sed -n 's/^BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="\([\/a-zA-Z0-9_=. \-]*\)"$/\1/p' ${BR2_CONFIG})" - - if grep -Eq "DTB_FILE_NAME=stm32mp157c-dk2.dtb" <<< ${ATF_VARIABLES}; then - echo "tf-a-stm32mp157c-dk2.stm32" - elif grep -Eq "DTB_FILE_NAME=stm32mp157a-dk1.dtb" <<< ${ATF_VARIABLES}; then - echo "tf-a-stm32mp157a-dk1.stm32" - elif grep -Eq "DTB_FILE_NAME=stm32mp157a-avenger96.dtb" <<< ${ATF_VARIABLES}; then - echo "tf-a-stm32mp157a-avenger96.stm32" - fi + ATF_VARIABLES="$(sed -n 's/^BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="\([\/a-zA-Z0-9_=. \-]*\)"$/\1/p' ${BR2_CONFIG})" + # make sure DTB_FILE_NAME is set + printf '%s\n' "${ATF_VARIABLES}" | grep -Eq 'DTB_FILE_NAME=[0-9A-Za-z_\-]*' + # extract the value + DTB_FILE_NAME="$(printf '%s\n' "${ATF_VARIABLES}" | sed 's/.*DTB_FILE_NAME=\([a-zA-Z0-9_\-]*\)\.dtb.*/\1/')" + echo "tf-a-${DTB_FILE_NAME}.stm32" } main() { - local ATFBIN="$(atf_image)" - local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)" - local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" + ATFBIN="$(atf_image)" + GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)" sed -e "s/%ATFBIN%/${ATFBIN}/" \ board/stmicroelectronics/common/stm32mp157/genimage.cfg.template > ${GENIMAGE_CFG}