Update bootmeth_alloc_other() to record images
authorSimon Glass <sjg@chromium.org>
Fri, 15 Nov 2024 23:19:21 +0000 (16:19 -0700)
committerTom Rini <trini@konsulko.com>
Wed, 15 Jan 2025 14:48:42 +0000 (08:48 -0600)
Update this function to add the image to the list.

Signed-off-by: Simon Glass <sjg@chromium.org>
boot/bootmeth-uclass.c
boot/bootmeth_script.c
include/bootmeth.h

index 1f48d0c..014b758 100644 (file)
@@ -359,7 +359,7 @@ int bootmeth_alloc_file(struct bootflow *bflow, uint size_limit, uint align,
 }
 
 int bootmeth_alloc_other(struct bootflow *bflow, const char *fname,
-                        void **bufp, uint *sizep)
+                        enum bootflow_img_t type, void **bufp, uint *sizep)
 {
        struct blk_desc *desc = NULL;
        char path[200];
@@ -388,6 +388,10 @@ int bootmeth_alloc_other(struct bootflow *bflow, const char *fname,
        if (ret)
                return log_msg_ret("all", ret);
 
+       if (!bootflow_img_add(bflow, bflow->fname, type, map_to_sysmem(buf),
+                             size))
+               return log_msg_ret("boi", -ENOMEM);
+
        *bufp = buf;
        *sizep = size;
 
index a2fb289..020cb8a 100644 (file)
@@ -107,8 +107,8 @@ static int script_read_bootflow_file(struct udevice *bootstd,
        if (ret)
                return log_msg_ret("inf", ret);
 
-       ret = bootmeth_alloc_other(bflow, "boot.bmp", &bflow->logo,
-                                  &bflow->logo_size);
+       ret = bootmeth_alloc_other(bflow, "boot.bmp", BFI_LOGO,
+                                  &bflow->logo, &bflow->logo_size);
        /* ignore error */
 
        return 0;
index 788d404..26de593 100644 (file)
@@ -384,12 +384,13 @@ int bootmeth_alloc_file(struct bootflow *bflow, uint size_limit, uint align,
  *
  * @bflow: Information about file to read
  * @fname: Filename to read from (within bootflow->subdir)
+ * @type: File type (IH_TYPE_...)
  * @bufp: Returns a pointer to the allocated buffer
  * @sizep: Returns the size of the buffer
  * Return: 0 if OK,  -ENOMEM if out of memory, other -ve on other error
  */
 int bootmeth_alloc_other(struct bootflow *bflow, const char *fname,
-                        void **bufp, uint *sizep);
+                        enum bootflow_img_t type, void **bufp, uint *sizep);
 
 /**
  * bootmeth_common_read_file() - Common handler for reading a file