common: cli: allow fall back to simple cli

The simple CLI mode only support run_command() which can't support
powerful command line syntax like if...then...else...fi conditionals
or `&&' and '||'.

The run_command_list() falls back to run_command().

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I136cba71e02fd1f57c9a395b37679d9a885ba4a0
This commit is contained in:
Joseph Chen 2020-05-14 15:59:53 +08:00 committed by Jianhong Chen
parent f3ff8d72ff
commit aedbab3f0f
3 changed files with 6 additions and 5 deletions

View File

@ -59,7 +59,7 @@ obj-$(CONFIG_MENU) += menu.o
obj-$(CONFIG_UPDATE_TFTP) += update.o obj-$(CONFIG_UPDATE_TFTP) += update.o
obj-$(CONFIG_DFU_TFTP) += update.o obj-$(CONFIG_DFU_TFTP) += update.o
obj-$(CONFIG_USB_KEYBOARD) += usb_kbd.o obj-$(CONFIG_USB_KEYBOARD) += usb_kbd.o
obj-$(CONFIG_CMDLINE) += cli_readline.o cli_simple.o obj-y += cli_readline.o cli_simple.o
endif # !CONFIG_SPL_BUILD endif # !CONFIG_SPL_BUILD

View File

@ -18,7 +18,11 @@
DECLARE_GLOBAL_DATA_PTR; DECLARE_GLOBAL_DATA_PTR;
#ifdef CONFIG_CMDLINE __weak int board_run_command(const char *cmdline)
{
return cli_simple_run_command_list((char *)cmdline, 0);
}
/* /*
* Run a command using the selected parser. * Run a command using the selected parser.
* *
@ -69,7 +73,6 @@ int run_command_repeatable(const char *cmd, int flag)
return 0; return 0;
#endif #endif
} }
#endif /* CONFIG_CMDLINE */
int run_command_list(const char *cmd, int len, int flag) int run_command_list(const char *cmd, int len, int flag)
{ {

View File

@ -85,7 +85,6 @@ int _do_help(cmd_tbl_t *cmd_start, int cmd_items, cmd_tbl_t *cmdtp, int flag,
/* find command table entry for a command */ /* find command table entry for a command */
cmd_tbl_t *find_cmd_tbl(const char *cmd, cmd_tbl_t *table, int table_len) cmd_tbl_t *find_cmd_tbl(const char *cmd, cmd_tbl_t *table, int table_len)
{ {
#ifdef CONFIG_CMDLINE
cmd_tbl_t *cmdtp; cmd_tbl_t *cmdtp;
cmd_tbl_t *cmdtp_temp = table; /* Init value */ cmd_tbl_t *cmdtp_temp = table; /* Init value */
const char *p; const char *p;
@ -112,7 +111,6 @@ cmd_tbl_t *find_cmd_tbl(const char *cmd, cmd_tbl_t *table, int table_len)
if (n_found == 1) { /* exactly one match */ if (n_found == 1) { /* exactly one match */
return cmdtp_temp; return cmdtp_temp;
} }
#endif /* CONFIG_CMDLINE */
return NULL; /* not found or ambiguous command */ return NULL; /* not found or ambiguous command */
} }