cbfs: Don't require the CBFS size with cbfs_init_mem()
authorSimon Glass <sjg@chromium.org>
Sun, 24 May 2020 23:38:24 +0000 (17:38 -0600)
committerBin Meng <bmeng.cn@gmail.com>
Wed, 27 May 2020 06:40:09 +0000 (14:40 +0800)
The size is not actually used since it is present in the header. Drop this
parameter. Also tidy up error handling while we are here.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
arch/x86/lib/fsp2/fsp_init.c
fs/cbfs/cbfs.c
include/cbfs.h

index 8c577902b27dddee0ebef81ebeeabea684e22913..85cae54a0cad5cd9a7dc13b3d3c4735682defb77 100644 (file)
@@ -81,11 +81,10 @@ static int get_cbfs_fsp(enum fsp_type_t type, ulong map_base,
         * 'COREBOOT' (CBFS, size 1814528, offset 2117632).
         */
        ulong cbfs_base = 0x205000;
-       ulong cbfs_size = 0x1bb000;
        struct cbfs_priv *cbfs;
        int ret;
 
-       ret = cbfs_init_mem(map_base + cbfs_base, cbfs_size, &cbfs);
+       ret = cbfs_init_mem(map_base + cbfs_base, &cbfs);
        if (ret)
                return ret;
        if (!ret) {
index d3c3722c4814985de6b9707f21864092e679f1da..9007aa7d15942db6914a344b75ec9f584d31fbcf 100644 (file)
@@ -5,6 +5,7 @@
 
 #include <common.h>
 #include <cbfs.h>
+#include <log.h>
 #include <malloc.h>
 #include <asm/byteorder.h>
 
@@ -275,7 +276,7 @@ int file_cbfs_init(ulong end_of_rom)
        return cbfs_init(&cbfs_s, end_of_rom);
 }
 
-int cbfs_init_mem(ulong base, ulong size, struct cbfs_priv **privp)
+int cbfs_init_mem(ulong base, struct cbfs_priv **privp)
 {
        struct cbfs_priv priv_s, *priv = &priv_s;
        int ret;
@@ -288,9 +289,10 @@ int cbfs_init_mem(ulong base, ulong size, struct cbfs_priv **privp)
        if (ret)
                return ret;
 
-       file_cbfs_fill_cache(priv, priv->header.rom_size, priv->header.align);
-       if (priv->result != CBFS_SUCCESS)
-               return -EINVAL;
+       ret = file_cbfs_fill_cache(priv, priv->header.rom_size,
+                                  priv->header.align);
+       if (ret)
+               return log_msg_ret("fill", ret);
 
        priv->initialized = true;
        priv = malloc(sizeof(priv_s));
index 1aff110acbb52eb5f6455e269082ecd64b1a399e..5f296d6a3717ef445135da343499942c095d6f48 100644 (file)
@@ -149,11 +149,10 @@ const struct cbfs_cachenode *cbfs_find_file(struct cbfs_priv *cbfs,
  * cbfs_init_mem() - Set up a new CBFS
  *
  * @base: Base address of CBFS
- * @size: Size of CBFS in bytes
  * @cbfsp: Returns a pointer to CBFS on success
  * @return 0 if OK, -ve on error
  */
-int cbfs_init_mem(ulong base, ulong size, struct cbfs_priv **privp);
+int cbfs_init_mem(ulong base, struct cbfs_priv **privp);
 
 
 /***************************************************************************/