From 58f1051598a53728b26eb69ac001b3ec1072cf6b Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Tue, 11 Sep 2007 10:17:49 +0200 Subject: Do not use -f to specify the device for erase and protect, but instead se positional parameters. --- commands/flash.c | 50 +++++++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 23 deletions(-) (limited to 'commands/flash.c') diff --git a/commands/flash.c b/commands/flash.c index 68b85495aa..8df796b228 100644 --- a/commands/flash.c +++ b/commands/flash.c @@ -35,21 +35,18 @@ int do_flerase (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) { - int opt, fd; + int fd; char *filename = NULL; struct stat s; unsigned long start = 0, size = ~0; - getopt_reset(); - - while((opt = getopt(argc, argv, "f:")) > 0) { - switch(opt) { - case 'f': - filename = optarg; - break; - } + if (argc == 1) { + u_boot_cmd_usage(cmdtp); + return 1; } + filename = argv[1]; + if (stat(filename, &s)) { printf("stat %s: %s\n", filename, errno_str()); return 1; @@ -68,7 +65,7 @@ int do_flerase (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) return 1; } - if (optind < argc) + if (argc == 2) parse_area_spec(argv[optind], &start, &size); if(erase(fd, size, start)) { @@ -81,31 +78,33 @@ int do_flerase (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) return 0; } +static __maybe_unused char cmd_erase_help[] = +"Usage: Erase [area]\n" +"Erase a flash device or parts of a device if an area specification\n" +"is given\n"; + U_BOOT_CMD_START(erase) .maxargs = CONFIG_MAXARGS, .cmd = do_flerase, .usage = "erase FLASH memory", - U_BOOT_CMD_HELP("write me\n") + U_BOOT_CMD_HELP(cmd_erase_help) U_BOOT_CMD_END int do_protect (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) { - int opt, fd; + int fd; char *filename = NULL; struct stat s; int prot = 1; unsigned long start = 0, size = ~0; - getopt_reset(); - - while((opt = getopt(argc, argv, "f:")) > 0) { - switch(opt) { - case 'f': - filename = optarg; - break; - } + if (argc == 1) { + u_boot_cmd_usage(cmdtp); + return 1; } + filename = argv[1]; + if (*argv[0] == 'u') prot = 0; @@ -127,7 +126,7 @@ int do_protect (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) return 1; } - if (optind < argc) + if (argc == 3) parse_area_spec(argv[optind], &start, &size); if(protect(fd, size, start, prot)) { @@ -140,17 +139,22 @@ int do_protect (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) return 0; } +static __maybe_unused char cmd_protect_help[] = +"Usage: (un)protect [area]\n" +"(un)protect a flash device or parts of a device if an area specification\n" +"is given\n"; + U_BOOT_CMD_START(protect) .maxargs = 4, .cmd = do_protect, .usage = "enable FLASH write protection", - U_BOOT_CMD_HELP("write me\n") + U_BOOT_CMD_HELP(cmd_protect_help) U_BOOT_CMD_END U_BOOT_CMD_START(unprotect) .maxargs = 4, .cmd = do_protect, .usage = "disable FLASH write protection", - U_BOOT_CMD_HELP("write me\n") + U_BOOT_CMD_HELP(cmd_protect_help) U_BOOT_CMD_END -- cgit v1.2.3