summaryrefslogtreecommitdiff
path: root/include/command.h
diff options
context:
space:
mode:
authorMichal Simek <michal.simek@xilinx.com>2018-06-21 14:49:26 +0200
committerMichal Simek <michal.simek@xilinx.com>2018-07-19 10:49:53 +0200
commit27eb7bce3943111dd70c19569b60d9a047f06811 (patch)
treea8a4cd2bbce7c294c515088f255f6a4ee82432a4 /include/command.h
parent3723324042ec92739d802604558a3ebe3d5616dc (diff)
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 'include/command.h')
-rw-r--r--include/command.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/command.h b/include/command.h
index 04cd1e745c..5b1577f3b4 100644
--- a/include/command.h
+++ b/include/command.h
@@ -67,7 +67,9 @@ extern int cmd_auto_complete(const char *const prompt, char *buf, int *np, int *
*
* @cmdtp: Command which caused the error
* @err: Error code (0 if none, -ve for error, like -EIO)
- * @return 0 if there is not error, 1 (CMD_RET_FAILURE) if an error is found
+ * @return 0 (CMD_RET_SUCCESX) if there is not error,
+ * 1 (CMD_RET_FAILURE) if an error is found
+ * -1 (CMD_RET_USAGE) if 'usage' error is found
*/
int cmd_process_error(cmd_tbl_t *cmdtp, int err);