diff options
author | Michal Simek <michal.simek@xilinx.com> | 2018-06-21 14:49:26 +0200 |
---|---|---|
committer | Michal Simek <michal.simek@xilinx.com> | 2018-07-19 10:49:53 +0200 |
commit | 27eb7bce3943111dd70c19569b60d9a047f06811 (patch) | |
tree | a8a4cd2bbce7c294c515088f255f6a4ee82432a4 /common/command.c | |
parent | 3723324042ec92739d802604558a3ebe3d5616dc (diff) | |
download | u-boot-27eb7bce3943111dd70c19569b60d9a047f06811.tar.gz u-boot-27eb7bce3943111dd70c19569b60d9a047f06811.tar.bz2 u-boot-27eb7bce3943111dd70c19569b60d9a047f06811.zip |
common: command: Handle USAGE failure separately
command_ret_t enum contains 3 return values but only two are handled
now. Extend cmd_process_error() and handle CMD_RET_USAGE separately.
These commands are affected by this change.
cmd/demo.c
cmd/efi.c
cmd/gpio.c
cmd/qfw.c
cmd/x86/fsp.c
test/dm/cmd_dm.c
And scripts shouldn't be affected because return value is not 0. But
every command implementation can choose what it is correct to pass.
I would expect that RET_USAGE is called when parameters are not
correctly passed (have incorrect value, missing parameters)
and RET_FAILURE when correct parameters are passed but command fails.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromum.org>
Diffstat (limited to 'common/command.c')
-rw-r--r-- | common/command.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/common/command.c b/common/command.c index a4a8dc601a..2433a89e0a 100644 --- a/common/command.c +++ b/common/command.c @@ -547,6 +547,9 @@ enum command_ret_t cmd_process(int flag, int argc, char * const argv[], int cmd_process_error(cmd_tbl_t *cmdtp, int err) { + if (err == CMD_RET_USAGE) + return CMD_RET_USAGE; + if (err) { printf("Command '%s' failed: Error %d\n", cmdtp->name, err); return CMD_RET_FAILURE; |