aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2016-09-24 18:19:52 -0600
committerTom Rini <trini@konsulko.com>2016-10-06 14:48:15 -0400
commitd95ceb97c0ca158605372634a860651ca925915a (patch)
tree0fc61807e410cd256ec15bd02787e7cb3a31d8cb
parente50d76cc3c2894267a4b36a675abb957d6e3df8c (diff)
downloadu-boot-d95ceb97c0ca158605372634a860651ca925915a.zip
u-boot-d95ceb97c0ca158605372634a860651ca925915a.tar.gz
u-boot-d95ceb97c0ca158605372634a860651ca925915a.tar.bz2
spl: Add a parameter to spl_set_header_raw_uboot()
Rather than act on the global variable, pass the required struct in as a parameter. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
-rw-r--r--common/spl/spl.c14
-rw-r--r--common/spl/spl_nand.c2
-rw-r--r--include/spl.h13
3 files changed, 20 insertions, 9 deletions
diff --git a/common/spl/spl.c b/common/spl/spl.c
index 57b73af..b664cc7 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -82,13 +82,13 @@ __weak void spl_board_prepare_for_boot(void)
/* Nothing to do! */
}
-void spl_set_header_raw_uboot(void)
+void spl_set_header_raw_uboot(struct spl_image_info *spl_image)
{
- spl_image.size = CONFIG_SYS_MONITOR_LEN;
- spl_image.entry_point = CONFIG_SYS_UBOOT_START;
- spl_image.load_addr = CONFIG_SYS_TEXT_BASE;
- spl_image.os = IH_OS_U_BOOT;
- spl_image.name = "U-Boot";
+ spl_image->size = CONFIG_SYS_MONITOR_LEN;
+ spl_image->entry_point = CONFIG_SYS_UBOOT_START;
+ spl_image->load_addr = CONFIG_SYS_TEXT_BASE;
+ spl_image->os = IH_OS_U_BOOT;
+ spl_image->name = "U-Boot";
}
int spl_parse_image_header(const struct image_header *header)
@@ -153,7 +153,7 @@ int spl_parse_image_header(const struct image_header *header)
/* Signature not found - assume u-boot.bin */
debug("mkimage signature not found - ih_magic = %x\n",
header->ih_magic);
- spl_set_header_raw_uboot();
+ spl_set_header_raw_uboot(&spl_image);
#endif
}
return 0;
diff --git a/common/spl/spl_nand.c b/common/spl/spl_nand.c
index 0e35e0f..8f9bd5da 100644
--- a/common/spl/spl_nand.c
+++ b/common/spl/spl_nand.c
@@ -20,7 +20,7 @@ int spl_nand_load_image(void)
nand_spl_load_image(CONFIG_SYS_NAND_U_BOOT_OFFS,
CONFIG_SYS_NAND_U_BOOT_SIZE,
(void *)CONFIG_SYS_NAND_U_BOOT_DST);
- spl_set_header_raw_uboot();
+ spl_set_header_raw_uboot(&spl_image);
nand_deselect();
return 0;
diff --git a/include/spl.h b/include/spl.h
index a597250..c0c5f78 100644
--- a/include/spl.h
+++ b/include/spl.h
@@ -67,7 +67,18 @@ extern struct spl_image_info spl_image;
void preloader_console_init(void);
u32 spl_boot_device(void);
u32 spl_boot_mode(const u32 boot_device);
-void spl_set_header_raw_uboot(void);
+
+/**
+ * spl_set_header_raw_uboot() - Set up a standard SPL image structure
+ *
+ * This sets up the given spl_image which the standard values obtained from
+ * config options: CONFIG_SYS_MONITOR_LEN, CONFIG_SYS_UBOOT_START,
+ * CONFIG_SYS_TEXT_BASE.
+ *
+ * @spl_image: Image to set up
+ */
+void spl_set_header_raw_uboot(struct spl_image_info *spl_image);
+
int spl_parse_image_header(const struct image_header *header);
void spl_board_prepare_for_linux(void);
void spl_board_prepare_for_boot(void);