binman: Add a way to read the ROM offset

Provide a function to read the ROM offset so that we can store the value
in one place and clients don't need to store it themselves after calling
binman_set_rom_offset().

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2020-09-27 18:46:19 -06:00
parent cdeb7b8f98
commit f4f4123708
2 changed files with 13 additions and 1 deletions

View File

@ -42,6 +42,13 @@ int binman_entry_map(ofnode parent, const char *name, void **bufp, int *sizep);
*/
void binman_set_rom_offset(int rom_offset);
/**
* binman_get_rom_offset() - Get the ROM memory-map offset
*
* @returns offset from an image_pos to the memory-mapped address
*/
int binman_get_rom_offset(void);
/**
* binman_entry_find() - Find a binman symbol
*

View File

@ -43,7 +43,7 @@ static int binman_entry_find_internal(ofnode node, const char *name,
ret = ofnode_read_u32(node, "image-pos", &entry->image_pos);
if (ret)
return log_msg_ret("import-pos", ret);
return log_msg_ret("image-pos", ret);
ret = ofnode_read_u32(node, "size", &entry->size);
if (ret)
return log_msg_ret("size", ret);
@ -83,6 +83,11 @@ void binman_set_rom_offset(int rom_offset)
binman->rom_offset = rom_offset;
}
int binman_get_rom_offset(void)
{
return binman->rom_offset;
}
int binman_init(void)
{
binman = malloc(sizeof(struct binman_info));