diff options
author | Nikita Kiryanov <nikita@compulab.co.il> | 2015-11-08 17:11:49 +0200 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2015-11-18 14:50:02 -0500 |
commit | 36afd451361dd4386c5527154d94bff4c6c538da (patch) | |
tree | 0b507fa7fe6b6a110f3bd319d3d8104f5105f7c3 /arch/arm/include | |
parent | 83cdf6faa677ff8ff39d7852126aad3207fac021 (diff) | |
download | u-boot-imx-36afd451361dd4386c5527154d94bff4c6c538da.zip u-boot-imx-36afd451361dd4386c5527154d94bff4c6c538da.tar.gz u-boot-imx-36afd451361dd4386c5527154d94bff4c6c538da.tar.bz2 |
spl: change return values of spl_*_load_image()
Make spl_*_load_image() functions return a value instead of
hanging if a problem is encountered. This enables main spl code
to make the decision whether to hang or not, thus preparing
it to support alternative boot devices.
Some boot devices (namely nand and spi) do not hang on error.
Instead, they return normally and SPL proceeds to boot the
contents of the load address. This is considered a bug and
is rectified by hanging on error for these devices as well.
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Cc: Tom Rini <trini@konsulko.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Ian Campbell <ijc@hellion.org.uk>
Cc: Hans De Goede <hdegoede@redhat.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Jagan Teki <jteki@openedev.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch/arm/include')
-rw-r--r-- | arch/arm/include/asm/spl.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/arm/include/asm/spl.h b/arch/arm/include/asm/spl.h index 6db405d..5c5d33f 100644 --- a/arch/arm/include/asm/spl.h +++ b/arch/arm/include/asm/spl.h @@ -31,8 +31,14 @@ enum { }; #endif -/* Board-specific load method */ -void spl_board_load_image(void); +/** + * Board specific load method for boards that have a special way of loading + * U-Boot, which does not fit with the existing SPL code. + * + * @return 0 on success, negative errno value on failure. + */ + +int spl_board_load_image(void); /* Linker symbols. */ extern char __bss_start[], __bss_end[]; |