From 40d7e99d374ba0a0a29cd1a8ba40d3b7c2c175c7 Mon Sep 17 00:00:00 2001 From: Kumar Gala Date: Fri, 15 Aug 2008 08:24:45 -0500 Subject: 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 --- lib_ppc/bootm.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'lib_ppc/bootm.c') 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) -- cgit v1.1