mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
command: Add constants for cmd_get_data_size string / error
At present these values are open-coded in a few places. Add constants so the meaning is clear. Also add a comment to cmd_get_data_size() Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
90a9901764
commit
7526deec7e
4 changed files with 30 additions and 6 deletions
|
@ -197,10 +197,10 @@ static int do_itest(struct cmd_tbl *cmdtp, int flag, int argc,
|
||||||
#endif
|
#endif
|
||||||
value = binary_test (argv[2], argv[1], argv[3], w);
|
value = binary_test (argv[2], argv[1], argv[3], w);
|
||||||
break;
|
break;
|
||||||
case -2:
|
case CMD_DATA_SIZE_STR:
|
||||||
value = binary_test (argv[2], argv[1], argv[3], 0);
|
value = binary_test (argv[2], argv[1], argv[3], 0);
|
||||||
break;
|
break;
|
||||||
case -1:
|
case CMD_DATA_SIZE_ERR:
|
||||||
default:
|
default:
|
||||||
puts("Invalid data width specifier\n");
|
puts("Invalid data width specifier\n");
|
||||||
value = 0;
|
value = 0;
|
||||||
|
|
|
@ -393,7 +393,7 @@ static int do_mem_search(struct cmd_tbl *cmdtp, int flag, int argc,
|
||||||
* Defaults to long if no or incorrect specification.
|
* Defaults to long if no or incorrect specification.
|
||||||
*/
|
*/
|
||||||
size = cmd_get_data_size(argv[0], 4);
|
size = cmd_get_data_size(argv[0], 4);
|
||||||
if (size < 0 && size != -2 /* string */)
|
if (size < 0 && size != CMD_DATA_SIZE_STR)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
argc--;
|
argc--;
|
||||||
|
|
|
@ -475,13 +475,13 @@ int cmd_get_data_size(char* arg, int default_size)
|
||||||
case 'l':
|
case 'l':
|
||||||
return 4;
|
return 4;
|
||||||
case 's':
|
case 's':
|
||||||
return -2;
|
return CMD_DATA_SIZE_STR;
|
||||||
case 'q':
|
case 'q':
|
||||||
if (MEM_SUPPORT_64BIT_DATA)
|
if (MEM_SUPPORT_64BIT_DATA)
|
||||||
return 8;
|
return 8;
|
||||||
/* no break */
|
/* no break */
|
||||||
default:
|
default:
|
||||||
return -1;
|
return CMD_DATA_SIZE_ERR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return default_size;
|
return default_size;
|
||||||
|
|
|
@ -117,7 +117,31 @@ int cmd_process_error(struct cmd_tbl *cmdtp, int err);
|
||||||
defined(CONFIG_CMD_PCI) || \
|
defined(CONFIG_CMD_PCI) || \
|
||||||
defined(CONFIG_CMD_SETEXPR)
|
defined(CONFIG_CMD_SETEXPR)
|
||||||
#define CMD_DATA_SIZE
|
#define CMD_DATA_SIZE
|
||||||
extern int cmd_get_data_size(char* arg, int default_size);
|
#define CMD_DATA_SIZE_ERR (-1)
|
||||||
|
#define CMD_DATA_SIZE_STR (-2)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* cmd_get_data_size() - Get the data-size specifier from a command
|
||||||
|
*
|
||||||
|
* This reads a '.x' size specifier appended to a command. For example 'md.b'
|
||||||
|
* is the 'md' command with a '.b' specifier, meaning that the command should
|
||||||
|
* use bytes.
|
||||||
|
*
|
||||||
|
* Valid characters are:
|
||||||
|
*
|
||||||
|
* b - byte
|
||||||
|
* w - word (16 bits)
|
||||||
|
* l - long (32 bits)
|
||||||
|
* q - quad (64 bits)
|
||||||
|
* s - string
|
||||||
|
*
|
||||||
|
* @arg: Pointers to the command to check. If a valid specifier is present it
|
||||||
|
* will be the last character of the string, following a '.'
|
||||||
|
* @default_size: Default size to return if there is no specifier
|
||||||
|
* @return data size in bytes (1, 2, 4, 8) or CMD_DATA_SIZE_ERR for an invalid
|
||||||
|
* character, or CMD_DATA_SIZE_STR for a string
|
||||||
|
*/
|
||||||
|
int cmd_get_data_size(char *arg, int default_size);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_CMD_BOOTD
|
#ifdef CONFIG_CMD_BOOTD
|
||||||
|
|
Loading…
Reference in a new issue