Merge branch 'master' of git://git.denx.de/u-boot
[oweals/u-boot.git] / common / cli.c
index 18d7e198a88235bd06fc82b6466d6bb865286071..38bba17585ca5a56970ad61317d12408833cd657 100644 (file)
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * (C) Copyright 2000
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
@@ -5,15 +6,16 @@
  * Add to readline cmdline-editing by
  * (C) Copyright 2005
  * JinHua Luo, GuangDong Linux Center, <luo.jinhua@gd-linux.com>
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <common.h>
 #include <cli.h>
 #include <cli_hush.h>
+#include <command.h>
 #include <console.h>
+#include <env.h>
 #include <fdtdec.h>
+#include <hang.h>
 #include <malloc.h>
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -28,7 +30,7 @@ DECLARE_GLOBAL_DATA_PTR;
  */
 int run_command(const char *cmd, int flag)
 {
-#ifndef CONFIG_SYS_HUSH_PARSER
+#if !CONFIG_IS_ENABLED(HUSH_PARSER)
        /*
         * cli_run_command can return 0 or 1 for success, so clean up
         * its result.
@@ -55,7 +57,7 @@ int run_command(const char *cmd, int flag)
  */
 int run_command_repeatable(const char *cmd, int flag)
 {
-#ifndef CONFIG_SYS_HUSH_PARSER
+#ifndef CONFIG_HUSH_PARSER
        return cli_simple_run_command(cmd, flag);
 #else
        /*
@@ -69,6 +71,13 @@ int run_command_repeatable(const char *cmd, int flag)
        return 0;
 #endif
 }
+#else
+__weak int board_run_command(const char *cmdline)
+{
+       printf("## Commands are disabled. Please enable CONFIG_CMDLINE.\n");
+
+       return 1;
+}
 #endif /* CONFIG_CMDLINE */
 
 int run_command_list(const char *cmd, int len, int flag)
@@ -79,7 +88,7 @@ int run_command_list(const char *cmd, int len, int flag)
 
        if (len == -1) {
                len = strlen(cmd);
-#ifdef CONFIG_SYS_HUSH_PARSER
+#ifdef CONFIG_HUSH_PARSER
                /* hush will never change our string */
                need_buff = 0;
 #else
@@ -94,7 +103,7 @@ int run_command_list(const char *cmd, int len, int flag)
                memcpy(buff, cmd, len);
                buff[len] = '\0';
        }
-#ifdef CONFIG_SYS_HUSH_PARSER
+#ifdef CONFIG_HUSH_PARSER
        rcode = parse_string_outer(buff, FLAG_PARSE_SEMICOLON);
 #else
        /*
@@ -129,7 +138,7 @@ int do_run(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
        for (i = 1; i < argc; ++i) {
                char *arg;
 
-               arg = getenv(argv[i]);
+               arg = env_get(argv[i]);
                if (arg == NULL) {
                        printf("## Error: \"%s\" not defined\n", argv[i]);
                        return 1;
@@ -214,7 +223,8 @@ err:
 
 void cli_loop(void)
 {
-#ifdef CONFIG_SYS_HUSH_PARSER
+       bootstage_mark(BOOTSTAGE_ID_ENTER_CLI_LOOP);
+#ifdef CONFIG_HUSH_PARSER
        parse_file_outer();
        /* This point is never reached */
        for (;;);
@@ -222,12 +232,12 @@ void cli_loop(void)
        cli_simple_loop();
 #else
        printf("## U-Boot command line is disabled. Please enable CONFIG_CMDLINE\n");
-#endif /*CONFIG_SYS_HUSH_PARSER*/
+#endif /*CONFIG_HUSH_PARSER*/
 }
 
 void cli_init(void)
 {
-#ifdef CONFIG_SYS_HUSH_PARSER
+#ifdef CONFIG_HUSH_PARSER
        u_boot_hush_start();
 #endif