diff options
author | Simon Glass <sjg@chromium.org> | 2016-09-25 03:19:52 +0300 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2016-10-06 21:48:15 +0300 |
commit | d95ceb97c0ca158605372634a860651ca925915a (patch) | |
tree | 0fc61807e410cd256ec15bd02787e7cb3a31d8cb | |
parent | e50d76cc3c2894267a4b36a675abb957d6e3df8c (diff) | |
download | u-boot-d95ceb97c0ca158605372634a860651ca925915a.tar.xz |
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.c | 14 | ||||
-rw-r--r-- | common/spl/spl_nand.c | 2 | ||||
-rw-r--r-- | include/spl.h | 13 |
3 files changed, 20 insertions, 9 deletions
diff --git a/common/spl/spl.c b/common/spl/spl.c index 57b73af4a7..b664cc7b21 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 0e35e0fd6b..8f9bd5da33 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 a597250e7c..c0c5f78017 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); |