[U-Boot] [PATCH 5/5] NAND: Add scrub.quiet command option

Detlev Zundel
2011-09-09T15:39:07Z

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

--
In the topologic hell the beer is packed in Klein's bottles.
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de