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_mips/bootm.c b/lib_mips/bootm.c
index 9869c33..c1bf21e 100644
--- a/lib_mips/bootm.c
+++ b/lib_mips/bootm.c
@@ -43,15 +43,11 @@
static void linux_params_init (ulong start, char * commandline);
static void linux_env_set (char * env_name, char * env_val);
-extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
-
-void do_bootm_linux (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[],
- bootm_headers_t *images)
+int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
{
void (*theKernel) (int, char **, char **, int *);
char *commandline = getenv ("bootargs");
char env_buf[12];
- int ret;
char *cp;
/* find kernel entry point */
@@ -103,11 +99,7 @@
theKernel (linux_argc, linux_argv, linux_env, 0);
/* does not return */
- return;
-
-error:
- do_reset (cmdtp, flag, argc, argv);
- return;
+ return 1;
}
static void linux_params_init (ulong start, char *line)