cmd_nand: slight optimization of nand_dump function
authorMasahiro Yamada <yamada.m@jp.panasonic.com>
Thu, 11 Jul 2013 08:27:13 +0000 (17:27 +0900)
committerScott Wood <scottwood@freescale.com>
Thu, 22 Aug 2013 22:25:02 +0000 (17:25 -0500)
If a non-zero value is given to only_oob argument,
printing the main area is skipped.

With a little modification, we can skip the whole
while loop.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
common/cmd_nand.c

index a66f569..adc1ce4 100644 (file)
@@ -77,18 +77,21 @@ static int nand_dump(nand_info_t *nand, ulong off, int only_oob, int repeat)
                goto free_all;
        }
        printf("Page %08lx dump:\n", off);
-       i = nand->writesize >> 4;
-       p = datbuf;
 
-       while (i--) {
-               if (!only_oob)
+       if (!only_oob) {
+               i = nand->writesize >> 4;
+               p = datbuf;
+
+               while (i--) {
                        printf("\t%02x %02x %02x %02x %02x %02x %02x %02x"
                               "  %02x %02x %02x %02x %02x %02x %02x %02x\n",
                               p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7],
                               p[8], p[9], p[10], p[11], p[12], p[13], p[14],
                               p[15]);
-               p += 16;
+                       p += 16;
+               }
        }
+
        puts("OOB:\n");
        i = nand->oobsize >> 3;
        p = oobbuf;