mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-06-09 23:36:03 +09:00
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>
This commit is contained in:
parent
3723324042
commit
27eb7bce39
|
@ -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)
|
int cmd_process_error(cmd_tbl_t *cmdtp, int err)
|
||||||
{
|
{
|
||||||
|
if (err == CMD_RET_USAGE)
|
||||||
|
return CMD_RET_USAGE;
|
||||||
|
|
||||||
if (err) {
|
if (err) {
|
||||||
printf("Command '%s' failed: Error %d\n", cmdtp->name, err);
|
printf("Command '%s' failed: Error %d\n", cmdtp->name, err);
|
||||||
return CMD_RET_FAILURE;
|
return CMD_RET_FAILURE;
|
||||||
|
|
|
@ -67,7 +67,9 @@ extern int cmd_auto_complete(const char *const prompt, char *buf, int *np, int *
|
||||||
*
|
*
|
||||||
* @cmdtp: Command which caused the error
|
* @cmdtp: Command which caused the error
|
||||||
* @err: Error code (0 if none, -ve for error, like -EIO)
|
* @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);
|
int cmd_process_error(cmd_tbl_t *cmdtp, int err);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user