This also reduces the data read before the write to the included layout
regions.

Signed-off-by: Nico Huber <[email protected]>
---
 cli_classic.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/cli_classic.c b/cli_classic.c
index d7e17f7..d23a3a3 100644
--- a/cli_classic.c
+++ b/cli_classic.c
@@ -42,7 +42,7 @@ static void cli_classic_usage(const char *name)
               "-z|"
 #endif
               "-p <programmername>[:<parameters>] [-c <chipname>]\n"
-              "[-E|(-r|-w|-v) <file>] [-l <layoutfile> [-i <imagename>]...] 
[-n] [-f]]\n"
+              "[-E|(-r|-w|-v) <file>] [-l <layoutfile> [-i <imagename>]...] 
[-n] [-A] [-f]]\n"
               "[-V[V[V]]] [-o <logfile>]\n\n", name);
 
        printf(" -h | --help                        print this help text\n"
@@ -55,6 +55,7 @@ static void cli_classic_usage(const char *name)
               " -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"
+              " -A | --noverify-all                don't auto-verify whole 
chip\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"
@@ -103,17 +104,18 @@ int main(int argc, char *argv[])
        int list_supported_wiki = 0;
 #endif
        int read_it = 0, write_it = 0, erase_it = 0, verify_it = 0;
-       int dont_verify_it = 0, list_supported = 0, operation_specified = 0;
+       int dont_verify_it = 0, dont_verify_all = 0, list_supported = 0, 
operation_specified = 0;
        enum programmer prog = PROGRAMMER_INVALID;
        int ret = 0;
 
-       static const char optstring[] = "r:Rw:v:nVEfc:l:i:p:Lzho:";
+       static const char optstring[] = "r:Rw:v:nAVEfc:l:i:p:Lzho:";
        static const struct option long_options[] = {
                {"read",                1, NULL, 'r'},
                {"write",               1, NULL, 'w'},
                {"erase",               0, NULL, 'E'},
                {"verify",              1, NULL, 'v'},
                {"noverify",            0, NULL, 'n'},
+               {"noverify-all",        0, NULL, 'A'},
                {"chip",                1, NULL, 'c'},
                {"verbose",             0, NULL, 'V'},
                {"force",               0, NULL, 'f'},
@@ -190,6 +192,9 @@ int main(int argc, char *argv[])
                        }
                        dont_verify_it = 1;
                        break;
+               case 'A':
+                       dont_verify_all = 1;
+                       break;
                case 'c':
                        chip_to_probe = strdup(optarg);
                        break;
@@ -536,7 +541,7 @@ int main(int argc, char *argv[])
        fl_flag_set(fill_flash, FL_FLAG_FORCE, !!force);
        fl_flag_set(fill_flash, FL_FLAG_FORCE_BOARDMISMATCH, 
!!force_boardmismatch);
        fl_flag_set(fill_flash, FL_FLAG_VERIFY_AFTER_WRITE, !dont_verify_it);
-       fl_flag_set(fill_flash, FL_FLAG_VERIFY_WHOLE_CHIP, true);
+       fl_flag_set(fill_flash, FL_FLAG_VERIFY_WHOLE_CHIP, !dont_verify_all);
 
        /* FIXME: We should issue an unconditional chip reset here. This can be
         * done once we have a .reset function in struct flashchip.
-- 
2.7.0


_______________________________________________
flashrom mailing list
[email protected]
https://www.flashrom.org/mailman/listinfo/flashrom

Reply via email to