From: Masahiro Yamada Date: Thu, 1 Feb 2018 12:37:40 +0000 (+0900) Subject: uniphier: add a helper to get image_info X-Git-Tag: baikal/aarch64/sdk5.9~2684^2~1 X-Git-Url: https://git.baikalelectronics.ru/?a=commitdiff_plain;h=0ac60c0801f85bad206a3be978f2dcc2ca9a7829;p=arm-tf.git uniphier: add a helper to get image_info In the next commit, I will have more usecases to get struct image_info from image ID. It is better to make a helper function at a different layer. I do not need the current uniphier_image_descs_fixup() since the code is small enough to be squashed into the caller side. Signed-off-by: Masahiro Yamada --- diff --git a/plat/socionext/uniphier/uniphier.h b/plat/socionext/uniphier/uniphier.h index 2af30dff8..b1a05726e 100644 --- a/plat/socionext/uniphier/uniphier.h +++ b/plat/socionext/uniphier/uniphier.h @@ -42,7 +42,9 @@ int uniphier_usb_init(unsigned int soc, uintptr_t *block_dev_spec); int uniphier_io_setup(unsigned int soc); int uniphier_check_image(unsigned int image_id); -void uniphier_image_descs_fixup(void); + +struct image_info; +struct image_info *uniphier_get_image_info(unsigned int image_id); int uniphier_scp_is_running(void); void uniphier_scp_start(void); diff --git a/plat/socionext/uniphier/uniphier_bl2_setup.c b/plat/socionext/uniphier/uniphier_bl2_setup.c index daf0c45d3..e72b6001d 100644 --- a/plat/socionext/uniphier/uniphier_bl2_setup.c +++ b/plat/socionext/uniphier/uniphier_bl2_setup.c @@ -88,8 +88,12 @@ void bl2_el3_plat_arch_setup(void) } } - if (skip_scp) - uniphier_image_descs_fixup(); + if (skip_scp) { + struct image_info *image_info; + + image_info = uniphier_get_image_info(SCP_BL2_IMAGE_ID); + image_info->h.attr |= IMAGE_ATTRIB_SKIP_LOADING; + } } void bl2_platform_setup(void) diff --git a/plat/socionext/uniphier/uniphier_image_desc.c b/plat/socionext/uniphier/uniphier_image_desc.c index 1e474c53f..f4651db05 100644 --- a/plat/socionext/uniphier/uniphier_image_desc.c +++ b/plat/socionext/uniphier/uniphier_image_desc.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2017-2018, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -86,12 +86,11 @@ static struct bl_mem_params_node uniphier_image_descs[] = { }; REGISTER_BL_IMAGE_DESCS(uniphier_image_descs) -/* SCP is optional. Allow run-time fixup of the descriptor array. */ -void uniphier_image_descs_fixup(void) +struct image_info *uniphier_get_image_info(unsigned int image_id) { struct bl_mem_params_node *desc; - desc = get_bl_mem_params_node(SCP_BL2_IMAGE_ID); - assert(desc != NULL); - desc->image_info.h.attr |= IMAGE_ATTRIB_SKIP_LOADING; + desc = get_bl_mem_params_node(image_id); + assert(desc); + return &desc->image_info; }