
Hi Marek,
This allows the scrub command to scrub without asking the user if he really wants to scrub the area. Useful in scripts.
Signed-off-by: Marek Vasut marek.vasut@gmail.com Cc: Scott Wood scottwood@freescale.com Cc: Stefano Babic sbabic@denx.de Cc: Wolfgang Denk wd@denx.de Cc: Detlev Zundel dzu@denx.de
common/cmd_nand.c | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/common/cmd_nand.c b/common/cmd_nand.c index 5b7e83d..45179e9 100644 --- a/common/cmd_nand.c +++ b/common/cmd_nand.c @@ -502,11 +502,19 @@ int do_nand(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]) int clean = argc > 2 && !strcmp("clean", argv[2]); int o = clean ? 3 : 2; int scrub = !strncmp(cmd, "scrub", 5);
int scrub_quiet = !strncmp(cmd, "scrub.quiet", 11);
int part = 0; int chip = 0; int spread = 0; int args = 2;
/*
* Quiet scrub is a special option only for the scrub command,
* ignore it in the following construction.
*/
if (scrub_quiet)
cmd[5] = 0;
This is _really_ hackish and makes an effort not to fit into the coding style at hand. Please use the available code and extend the construct below to match the ".quiet" suffix. It is not that different.
if (cmd[5] != 0) { if (!strcmp(&cmd[5], ".spread")) { spread = 1;
@@ -543,7 +551,7 @@ int do_nand(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]) opts.quiet = quiet; opts.spread = spread;
if (scrub) {
if (scrub && !scrub_quiet) { puts("Warning: " "scrub option will erase all factory set " "bad blocks!\n"
@@ -569,6 +577,10 @@ int do_nand(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]) return -1; } }
if (scrub_quiet)
opts.scrub = 1;
Urgh. Please turn this into
if (scrub) { if (!scrub_quiet) { } else { } }
Cheers Detlev