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>
This commit is contained in:
Kumar Gala
2008-08-15 08:24:45 -05:00
committed by Wolfgang Denk
parent 40afac22a9
commit 40d7e99d37
13 changed files with 62 additions and 117 deletions

View File

@@ -25,10 +25,7 @@
#include <command.h>
#include <asm/byteorder.h>
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 (*kernel)(void) = (void (*)(void))images->ep;
@@ -37,9 +34,7 @@ void do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
*/
kernel ();
/* does not return */
return;
error:
do_reset (cmdtp, flag, argc, argv);
return;
return 1;
}