diff options
author | Kumar Gala <galak@kernel.crashing.org> | 2008-08-15 08:24:45 -0500 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2008-08-26 23:48:01 +0200 |
commit | 40d7e99d374ba0a0a29cd1a8ba40d3b7c2c175c7 (patch) | |
tree | aedac5a8fffc541a91f1948428c242291f9c7053 /lib_ppc/bootm.c | |
parent | 40afac22a9c602e55c501c800f1c064324711b56 (diff) | |
download | bootable_bootloader_goldelico_gta04-40d7e99d374ba0a0a29cd1a8ba40d3b7c2c175c7.zip bootable_bootloader_goldelico_gta04-40d7e99d374ba0a0a29cd1a8ba40d3b7c2c175c7.tar.gz bootable_bootloader_goldelico_gta04-40d7e99d374ba0a0a29cd1a8ba40d3b7c2c175c7.tar.bz2 |
bootm: refactor do_reset and os boot function args
There is no need for each OS specific function to call do_reset() we
can just do it once in bootm. This means its feasible on an error for
the OS boot function to return.
Also, remove passing in cmd_tbl_t as its not needed by the OS boot
functions. flag isn't currently used but might be in the future so
we left it alone.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'lib_ppc/bootm.c')
-rw-r--r-- | lib_ppc/bootm.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/lib_ppc/bootm.c b/lib_ppc/bootm.c index 9892afa..348421f 100644 --- a/lib_ppc/bootm.c +++ b/lib_ppc/bootm.c @@ -47,7 +47,6 @@ DECLARE_GLOBAL_DATA_PTR; -extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]); extern ulong get_effective_memsize(void); static ulong get_sp (void); static void set_clocks_in_mhz (bd_t *kbd); @@ -56,9 +55,8 @@ static void set_clocks_in_mhz (bd_t *kbd); #define CFG_LINUX_LOWMEM_MAX_SIZE (768*1024*1024) #endif -void __attribute__((noinline)) -do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], - bootm_headers_t *images) +__attribute__((noinline)) +int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images) { ulong sp; @@ -234,11 +232,10 @@ do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], cmd_start, cmd_end, 0, 0); /* does not return */ } - return ; + return 1; error: - do_reset (cmdtp, flag, argc, argv); - return ; + return 1; } static ulong get_sp (void) |