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_blackfin/bootm.c b/lib_blackfin/bootm.c
index f789e24..d0afb21 100644
--- a/lib_blackfin/bootm.c
+++ b/lib_blackfin/bootm.c
@@ -14,8 +14,6 @@
 #include <image.h>
 #include <asm/blackfin.h>
 
-extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
-
 #ifdef SHARED_RESOURCES
 extern void swap_to(int device_id);
 #endif
@@ -33,8 +31,7 @@
 	return dest;
 }
 
-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)
 {
 	int	(*appl) (char *cmdline);
 	char	*cmdline;
@@ -51,8 +48,6 @@
 	dcache_disable();
 	(*appl) (cmdline);
 	/* does not return */
-	return;
-
- error:
-	do_reset (cmdtp, flag, argc, argv);
+error:
+	return 1;
 }