diff options
author | Simon Glass <sjg@chromium.org> | 2014-04-10 20:01:34 -0600 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2014-05-29 17:51:42 -0400 |
commit | c1bb2cd0b6a3d1b152be3686601234b3a363772b (patch) | |
tree | 3e9227a68f254ed1439c5091d00563860b0ce207 /common | |
parent | 1364a0e48a64a29930a8b22620f420e8f4984cc7 (diff) |
main: Hide the hush/simple details inside cli.c
Move these details from main (which doesn't care which parser is used) to
cli.c where they belong.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'common')
-rw-r--r-- | common/cli.c | 22 | ||||
-rw-r--r-- | common/cli_simple.c | 2 | ||||
-rw-r--r-- | common/main.c | 16 |
3 files changed, 25 insertions, 15 deletions
diff --git a/common/cli.c b/common/cli.c index 9cf7ba1bd79..4ac9b3f017c 100644 --- a/common/cli.c +++ b/common/cli.c @@ -104,3 +104,25 @@ int do_run(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) return 0; } #endif + +void cli_loop(void) +{ +#ifdef CONFIG_SYS_HUSH_PARSER + parse_file_outer(); + /* This point is never reached */ + for (;;); +#else + cli_simple_loop(); +#endif /*CONFIG_SYS_HUSH_PARSER*/ +} + +void cli_init(void) +{ +#ifdef CONFIG_SYS_HUSH_PARSER + u_boot_hush_start(); +#endif + +#if defined(CONFIG_HUSH_INIT_VAR) + hush_init_var(); +#endif +} diff --git a/common/cli_simple.c b/common/cli_simple.c index bba586ed44e..413c2eb89ec 100644 --- a/common/cli_simple.c +++ b/common/cli_simple.c @@ -256,7 +256,7 @@ int cli_simple_run_command(const char *cmd, int flag) return rc ? rc : repeatable; } -void cli_loop(void) +void cli_simple_loop(void) { static char lastcommand[CONFIG_SYS_CBSIZE] = { 0, }; diff --git a/common/main.c b/common/main.c index b4cf289dc5d..8c846c84c80 100644 --- a/common/main.c +++ b/common/main.c @@ -10,7 +10,6 @@ #include <common.h> #include <autoboot.h> #include <cli.h> -#include <cli_hush.h> #include <malloc.h> #include <version.h> @@ -71,13 +70,7 @@ void main_loop(void) setenv("ver", version_string); /* set version variable */ #endif /* CONFIG_VERSION_VARIABLE */ -#ifdef CONFIG_SYS_HUSH_PARSER - u_boot_hush_start(); -#endif - -#if defined(CONFIG_HUSH_INIT_VAR) - hush_init_var(); -#endif + cli_init(); run_preboot_environment_command(); @@ -89,11 +82,6 @@ void main_loop(void) /* * Main Loop for Monitor Command Processing */ -#ifdef CONFIG_SYS_HUSH_PARSER - parse_file_outer(); - /* This point is never reached */ - for (;;); -#else + cli_loop(); -#endif /*CONFIG_SYS_HUSH_PARSER*/ } |