Improve --help and friends
More clear "variable" names, better explanation if no programmer is selected etc.
Corresponding to flashrom svn r1624.
Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Paul Menzel <paulepanter@users.sourceforge.net>
diff --git a/cli_classic.c b/cli_classic.c
index ccf75e9..63565cb 100644
--- a/cli_classic.c
+++ b/cli_classic.c
@@ -33,58 +33,42 @@
static void cli_classic_usage(const char *name)
{
- printf("Usage: flashrom [-h|-R|-L|"
+ printf("Please note that the command line interface for flashrom has changed between\n"
+ "0.9.5 and 0.9.6 and will change again before flashrom 1.0.\n\n");
+
+ printf("Usage: %s [-h|-R|-L|"
#if CONFIG_PRINT_WIKI == 1
- "-z|"
+ "-z|"
#endif
- "-p <programmername>[:<parameters>]\n"
- " [-E|-r <file>|-w <file>|-v <file>] [-c <chipname>]\n"
- " [-l <file> [-i <image>]] [-n] [-f]]\n"
- " [-V[V[V]]] [-o <logfile>]\n\n");
+ "-p <programmername>[:<parameters>] [-c <chipname>]\n"
+ "[-E|(-r|-w|-v) <file>] [-l <layoutfile> [-i <imagename>]...] [-n] [-f]]\n"
+ "[-V[V[V]]] [-o <logfile>]\n\n", name);
- printf("Please note that the command line interface for flashrom has "
- "changed between\n"
- "0.9.5 and 0.9.6 and will change again before flashrom 1.0.\n"
- "Do not use flashrom in scripts or other automated tools "
- "without checking\n"
- "that your flashrom version won't interpret options in a "
- "different way.\n\n");
-
- printf(" -h | --help print this help text\n"
- " -R | --version print version (release)\n"
- " -r | --read <file> read flash and save to "
- "<file>\n"
- " -w | --write <file> write <file> to flash\n"
- " -v | --verify <file> verify flash against "
- "<file>\n"
- " -E | --erase erase flash device\n"
- " -V | --verbose more verbose output\n"
- " -c | --chip <chipname> probe only for specified "
- "flash chip\n"
- " -f | --force force specific operations "
- "(see man page)\n"
- " -n | --noverify don't auto-verify\n"
- " -l | --layout <file> read ROM layout from "
- "<file>\n"
- " -i | --image <name> only flash image <name> "
- "from flash layout\n"
- " -o | --output <name> log to file <name>\n"
- " -L | --list-supported print supported devices\n"
+ printf(" -h | --help print this help text\n"
+ " -R | --version print version (release)\n"
+ " -r | --read <file> read flash and save to <file>\n"
+ " -w | --write <file> write <file> to flash\n"
+ " -v | --verify <file> verify flash against <file>\n"
+ " -E | --erase erase flash memory\n"
+ " -V | --verbose more verbose output\n"
+ " -c | --chip <chipname> probe only for specified flash chip\n"
+ " -f | --force force specific operations (see man page)\n"
+ " -n | --noverify don't auto-verify\n"
+ " -l | --layout <layoutfile> read ROM layout from <layoutfile>\n"
+ " -i | --image <name> only flash image <name> from flash layout\n"
+ " -o | --output <logfile> log output to <logfile>\n"
+ " -L | --list-supported print supported devices\n"
#if CONFIG_PRINT_WIKI == 1
- " -z | --list-supported-wiki print supported devices "
- "in wiki syntax\n"
+ " -z | --list-supported-wiki print supported devices in wiki syntax\n"
#endif
- " -p | --programmer <name>[:<param>] specify the programmer "
- "device\n");
-
- list_programmers_linebreak(37, 80, 1);
- printf("\nYou can specify one of -h, -R, -L, "
+ " -p | --programmer <name>[:<param>] specify the programmer device. One of\n");
+ list_programmers_linebreak(4, 80, 0);
+ printf(".\n\nYou can specify one of -h, -R, -L, "
#if CONFIG_PRINT_WIKI == 1
"-z, "
#endif
"-E, -r, -w, -v or no operation.\n"
- "If no operation is specified, flashrom will only probe for "
- "flash chips.\n\n");
+ "If no operation is specified, flashrom will only probe for flash chips.\n");
}
static void cli_classic_abort_usage(void)
@@ -296,6 +280,7 @@
fprintf(stderr, "Error: Unknown programmer \"%s\". Valid choices are:\n",
optarg);
list_programmers_linebreak(0, 80, 0);
+ msg_ginfo(".\n");
cli_classic_abort_usage();
}
break;
@@ -407,8 +392,13 @@
programmer_table[CONFIG_DEFAULT_PROGRAMMER].name);
} else {
msg_perr("Please select a programmer with the --programmer parameter.\n"
+ "Previously this was not necessary because there was a default set.\n"
+#if CONFIG_INTERNAL == 1
+ "To choose the mainboard of this computer use 'internal'. "
+#endif
"Valid choices are:\n");
list_programmers_linebreak(0, 80, 0);
+ msg_ginfo(".\n");
ret = 1;
goto out;
}
diff --git a/flashrom.c b/flashrom.c
index 2299b06..e2ad170 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -1461,7 +1461,6 @@
} else {
if (paren)
msg_ginfo(")");
- msg_ginfo("\n");
}
}
}
diff --git a/print.c b/print.c
index d7bdbfe..5f6ae43 100644
--- a/print.c
+++ b/print.c
@@ -440,6 +440,7 @@
msg_ginfo("\nSupported programmers:\n");
list_programmers_linebreak(0, 80, 0);
+ msg_ginfo("\n");
#if CONFIG_INTERNAL == 1
msg_ginfo("\nSupported devices for the %s programmer:\n\n",
programmer_table[PROGRAMMER_INTERNAL].name);