From edfeba7538a23fdb82e7d0784c4b75d600f3547a Mon Sep 17 00:00:00 2001 From: Philippe Reynes Date: Tue, 24 Nov 2020 14:39:48 +0100 Subject: [PATCH] tools: image-host: add support for several sub-images The propoerty sign-images points to images in the configuration node. But thoses images may references severals "sub-images" (for example for images loadable). This commit adds the support of severals sub-images. Signed-off-by: Philippe Reynes --- tools/image-host.c | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/tools/image-host.c b/tools/image-host.c index ce829a8ec9..33a224129a 100644 --- a/tools/image-host.c +++ b/tools/image-host.c @@ -805,25 +805,31 @@ static int fit_config_get_hash_list(void *fit, int conf_noffset, image_count = 0; for (iname = prop; iname < end; iname += strlen(iname) + 1) { int image_noffset; + int index, max_index; - image_noffset = fit_conf_get_prop_node(fit, conf_noffset, - iname); - if (image_noffset < 0) { - printf("Failed to find image '%s' in configuration '%s/%s'\n", - iname, conf_name, sig_name); - if (allow_missing) - continue; + max_index = fdt_stringlist_count(fit, conf_noffset, iname); - return -ENOENT; + for (index = 0; index < max_index; index++) { + image_noffset = fit_conf_get_prop_node_index(fit, conf_noffset, + iname, index); + + if (image_noffset < 0) { + printf("Failed to find image '%s' in configuration '%s/%s'\n", + iname, conf_name, sig_name); + if (allow_missing) + continue; + + return -ENOENT; + } + + ret = fit_config_add_hash(fit, conf_name, + sig_name, node_inc, + iname, image_noffset); + if (ret < 0) + return ret; + + image_count++; } - - ret = fit_config_add_hash(fit, conf_name, - sig_name, node_inc, - iname, image_noffset); - if (ret < 0) - return ret; - - image_count++; } if (!image_count) {