
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; + 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; + ret = nand_erase_opts(nand, &opts); printf("%s\n", ret ? "ERROR" : "OK");