提交 0e7b6312 编写于 作者: S Simon Glass 提交者: Bin Meng

cbfs: Return the error code from file_cbfs_init()

We may as well return the error code and use it directly in the command
code. CBFS still uses its own error enum which we may be able to remove,
but leave it for now.
Signed-off-by: NSimon Glass <sjg@chromium.org>
Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
上级 c685f8bc
......@@ -28,8 +28,7 @@ static int do_cbfs_init(struct cmd_tbl *cmdtp, int flag, int argc,
return 1;
}
}
file_cbfs_init(end_of_rom);
if (cbfs_get_result() != CBFS_SUCCESS) {
if (file_cbfs_init(end_of_rom)) {
printf("%s.\n", file_cbfs_error());
return 1;
}
......
......@@ -253,19 +253,26 @@ static int cbfs_load_header_ptr(struct cbfs_priv *priv, ulong base)
return 0;
}
static void cbfs_init(struct cbfs_priv *priv, ulong end_of_rom)
static int cbfs_init(struct cbfs_priv *priv, ulong end_of_rom)
{
if (file_cbfs_load_header(priv, end_of_rom))
return;
int ret;
file_cbfs_fill_cache(priv, priv->header.rom_size, priv->header.align);
if (priv->result == CBFS_SUCCESS)
priv->initialized = true;
ret = file_cbfs_load_header(priv, end_of_rom);
if (ret)
return ret;
ret = file_cbfs_fill_cache(priv, priv->header.rom_size,
priv->header.align);
if (ret)
return ret;
priv->initialized = true;
return 0;
}
void file_cbfs_init(ulong end_of_rom)
int file_cbfs_init(ulong end_of_rom)
{
cbfs_init(&cbfs_s, end_of_rom);
return cbfs_init(&cbfs_s, end_of_rom);
}
int cbfs_init_mem(ulong base, ulong size, struct cbfs_priv **privp)
......
......@@ -98,10 +98,10 @@ enum cbfs_result cbfs_get_result(void);
/**
* file_cbfs_init() - Initialize the CBFS driver and load metadata into RAM.
*
* @end_of_rom: Points to the end of the ROM the CBFS should be read
* from.
* @end_of_rom: Points to the end of the ROM the CBFS should be read from
* @return 0 if OK, -ve on error
*/
void file_cbfs_init(ulong end_of_rom);
int file_cbfs_init(ulong end_of_rom);
/**
* file_cbfs_get_header() - Get the header structure for the current CBFS.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册