diff options
Diffstat (limited to 'common/spl/spl_nand.c')
-rw-r--r-- | common/spl/spl_nand.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/common/spl/spl_nand.c b/common/spl/spl_nand.c index 302fe9c04f..3e2c074050 100644 --- a/common/spl/spl_nand.c +++ b/common/spl/spl_nand.c @@ -11,7 +11,7 @@ #include <nand.h> #if defined(CONFIG_SPL_NAND_RAW_ONLY) -void spl_nand_load_image(void) +int spl_nand_load_image(void) { nand_init(); @@ -20,6 +20,8 @@ void spl_nand_load_image(void) (void *)CONFIG_SYS_NAND_U_BOOT_DST); spl_set_header_raw_uboot(); nand_deselect(); + + return 0; } #else static int spl_nand_load_element(int offset, struct image_header *header) @@ -35,8 +37,9 @@ static int spl_nand_load_element(int offset, struct image_header *header) (void *)(unsigned long)spl_image.load_addr); } -void spl_nand_load_image(void) +int spl_nand_load_image(void) { + int err; struct image_header *header; int *src __attribute__((unused)); int *dst __attribute__((unused)); @@ -73,10 +76,12 @@ void spl_nand_load_image(void) spl_parse_image_header(header); if (header->ih_os == IH_OS_LINUX) { /* happy - was a linux */ - nand_spl_load_image(CONFIG_SYS_NAND_SPL_KERNEL_OFFS, - spl_image.size, (void *)spl_image.load_addr); + err = nand_spl_load_image( + CONFIG_SYS_NAND_SPL_KERNEL_OFFS, + spl_image.size, + (void *)spl_image.load_addr); nand_deselect(); - return; + return err; } else { puts("The Expected Linux image was not " "found. Please check your NAND " @@ -92,7 +97,8 @@ void spl_nand_load_image(void) #endif #endif /* Load u-boot */ - spl_nand_load_element(CONFIG_SYS_NAND_U_BOOT_OFFS, header); + err = spl_nand_load_element(CONFIG_SYS_NAND_U_BOOT_OFFS, header); nand_deselect(); + return err; } #endif |