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 <philippe.rey...@softathome.com>
---
 tools/image-host.c | 36 +++++++++++++++++++++---------------
 1 file changed, 21 insertions(+), 15 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);
 
-               ret = fit_config_add_hash(fit, conf_name,
-                                         sig_name, node_inc,
-                                         iname, image_noffset);
-               if (ret < 0)
-                       return ret;
+                       if (image_noffset < 0) {
+                               printf("Failed to find image '%s' in  
configuration '%s/%s'\n",
+                                      iname, conf_name, sig_name);
+                               if (allow_missing)
+                                       continue;
 
-               image_count++;
+                               return -ENOENT;
+                       }
+
+                       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) {
-- 
2.17.1

Reply via email to