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>
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 @@
 #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 @@
 			   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)