]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
binman: Support multiple images in the library
authorSimon Glass <sjg@chromium.org>
Mon, 28 Sep 2020 00:46:20 +0000 (18:46 -0600)
committerSimon Glass <sjg@chromium.org>
Thu, 29 Oct 2020 20:42:17 +0000 (14:42 -0600)
Add support for multiple images, since these are used on x86 now. Select
the first image for now, since that is generally the correct one. At some
point we can add a way to determine which image is currently running.

Signed-off-by: Simon Glass <sjg@chromium.org>
lib/binman.c

index 79e497fc8de8ef1d8de5029e1f56c458444c619e..e71c1b9e9920c9687df70c960a46b8b0834888f4 100644 (file)
@@ -96,6 +96,13 @@ int binman_init(void)
        binman->image = ofnode_path("/binman");
        if (!ofnode_valid(binman->image))
                return log_msg_ret("binman node", -EINVAL);
+       if (ofnode_read_bool(binman->image, "multiple-images")) {
+               ofnode node = ofnode_first_subnode(binman->image);
+
+               if (!ofnode_valid(node))
+                       return log_msg_ret("first image", -ENOENT);
+               binman->image = node;
+       }
        binman->rom_offset = ROM_OFFSET_NONE;
 
        return 0;