[PATCH 07/12] binman: Add a way to read the ROM offset

Simon Glass sjg at chromium.org
Mon Sep 28 02:46:19 CEST 2020


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 at chromium.org>
---

 include/binman.h | 7 +++++++
 lib/binman.c     | 7 ++++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/include/binman.h b/include/binman.h
index e0b92075e27..8b89a9666d5 100644
--- a/include/binman.h
+++ b/include/binman.h
@@ -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
  *
diff --git a/lib/binman.c b/lib/binman.c
index 7a8ad62c4a8..79e497fc8de 100644
--- a/lib/binman.c
+++ b/lib/binman.c
@@ -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));
-- 
2.28.0.681.g6f77f65b4e-goog



More information about the U-Boot mailing list