{"id":206,"url":"http://patchwork.ozlabs.org/api/1.0/patches/206/?format=json","project":{"id":3,"url":"http://patchwork.ozlabs.org/api/1.0/projects/3/?format=json","name":"Linux MTD development","link_name":"linux-mtd","list_id":"linux-mtd.lists.infradead.org","list_email":"linux-mtd@lists.infradead.org","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<1220856357-22854-1-git-send-email-gerickson@nuovations.com>","date":"2008-09-08T06:45:57","name":"nanddump: Add Support for Quiet Option","commit_ref":"41c53b6f2d756ae995c3ffa4455576515427c5e0","pull_url":null,"state":"accepted","archived":false,"hash":"1bcf7d59950e8acfb3b197e6d23116825d8cb0f1","submitter":{"id":115,"url":"http://patchwork.ozlabs.org/api/1.0/people/115/?format=json","name":"Grant Erickson","email":"gerickson@nuovations.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-mtd/patch/1220856357-22854-1-git-send-email-gerickson@nuovations.com/mbox/","series":[],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/206/checks/","tags":{},"headers":{"Return-Path":"<linux-mtd-bounces+patchwork=ozlabs.org@lists.infradead.org>","X-Original-To":"patchwork@ozlabs.org","Delivered-To":"patchwork@ozlabs.org","Received":["from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34])\n\t(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))\n\t(Client did not present a certificate)\n\tby ozlabs.org (Postfix) with ESMTPS id 2D620DDE1D\n\tfor <patchwork@ozlabs.org>; Mon,  8 Sep 2008 16:46:07 +1000 (EST)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.68 #1 (Red Hat Linux))\n\tid 1KcaVd-0006s3-6L; Mon, 08 Sep 2008 06:46:01 +0000","from relay03.pair.com ([209.68.5.17])\n\tby bombadil.infradead.org with smtp (Exim 4.68 #1 (Red Hat Linux))\n\tid 1KcaVb-0006rZ-TC\n\tfor linux-mtd@lists.infradead.org; Mon, 08 Sep 2008 06:46:00 +0000","(qmail 70706 invoked by uid 0); 8 Sep 2008 06:45:58 -0000","from unknown (HELO localhost.localdomain) (unknown)\n\tby unknown with SMTP; 8 Sep 2008 06:45:58 -0000"],"X-pair-Authenticated":"66.134.71.115","From":"Grant Erickson <gerickson@nuovations.com>","To":"linux-mtd@lists.infradead.org","Subject":"[PATCH 6/6] [MTD-UTILS] nanddump: Add Support for Quiet Option","Date":"Sun,  7 Sep 2008 23:45:57 -0700","Message-Id":"<1220856357-22854-1-git-send-email-gerickson@nuovations.com>","X-Mailer":"git-send-email 1.6.0.1","Organization":"Nuovation System Designs, LLC","X-Spam-Score":"-1.0 (-)","X-Spam-Report":"SpamAssassin version 3.2.5 on bombadil.infradead.org summary:\n\tContent analysis details:   (-1.0 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-1.0 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/,\n\tlow trust [209.68.5.17 listed in list.dnswl.org]","X-BeenThere":"linux-mtd@lists.infradead.org","X-Mailman-Version":"2.1.9","Precedence":"list","List-Id":"Linux MTD discussion mailing list <linux-mtd.lists.infradead.org>","List-Unsubscribe":"<http://lists.infradead.org/mailman/listinfo/linux-mtd>,\n\t<mailto:linux-mtd-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-mtd>","List-Post":"<mailto:linux-mtd@lists.infradead.org>","List-Help":"<mailto:linux-mtd-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-mtd>,\n\t<mailto:linux-mtd-request@lists.infradead.org?subject=subscribe>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"linux-mtd-bounces@lists.infradead.org","Errors-To":"linux-mtd-bounces+patchwork=ozlabs.org@lists.infradead.org"},"content":"Added support for the '-q,--quiet' option to suppress diagnostic output.\n Made the new option mutually-exclusive with the pretty print option.\n\nSigned-off-by: Grant Erickson <gerickson@nuovations.com>","diff":"diff --git a/nanddump.c b/nanddump.c\nindex b8332f9..678d684 100644\n--- a/nanddump.c\n+++ b/nanddump.c\n@@ -52,6 +52,7 @@ static void display_help (void)\n \"-o         --omitoob            Omit oob data\\n\"\n \"-b         --omitbad            Omit bad blocks from the dump\\n\"\n \"-p         --prettyprint        Print nice (hexdump)\\n\"\n+\"-q         --quiet              Don't display progress and status messages\\n\"\n \"-s addr    --startaddress=addr  Start address\\n\"\n \t);\n \texit(EXIT_SUCCESS);\n@@ -81,6 +82,7 @@ static unsigned long\tlength;\t\t\t// dump length\n static const char\t*mtddev;\t\t// mtd device name\n static const char\t*dumpfile;\t\t// dump file name\n static bool\t\tomitbad = false;\n+static bool\t\tquiet = false;\t\t// suppress diagnostic output\n \n static void process_options (int argc, char * const argv[])\n {\n@@ -88,7 +90,7 @@ static void process_options (int argc, char * const argv[])\n \n \tfor (;;) {\n \t\tint option_index = 0;\n-\t\tstatic const char *short_options = \"bs:f:il:opn\";\n+\t\tstatic const char *short_options = \"bs:f:il:opqn\";\n \t\tstatic const struct option long_options[] = {\n \t\t\t{\"help\", no_argument, 0, 0},\n \t\t\t{\"version\", no_argument, 0, 0},\n@@ -100,6 +102,7 @@ static void process_options (int argc, char * const argv[])\n \t\t\t{\"startaddress\", required_argument, 0, 's'},\n \t\t\t{\"length\", required_argument, 0, 'l'},\n \t\t\t{\"noecc\", no_argument, 0, 'n'},\n+\t\t\t{\"quiet\", no_argument, 0, 'q'},\n \t\t\t{0, 0, 0, 0},\n \t\t};\n \n@@ -144,6 +147,9 @@ static void process_options (int argc, char * const argv[])\n \t\t\tcase 'p':\n \t\t\t\tpretty_print = true;\n \t\t\t\tbreak;\n+\t\t\tcase 'q':\n+\t\t\t\tquiet = true;\n+\t\t\t\tbreak;\n \t\t\tcase 'n':\n \t\t\t\tnoecc = true;\n \t\t\t\tbreak;\n@@ -153,6 +159,12 @@ static void process_options (int argc, char * const argv[])\n \t\t}\n \t}\n \n+\tif (quiet && pretty_print) {\n+\t\tfprintf(stderr, \"The quiet and pretty print options are mutually-\\n\"\n+\t\t\t\t\"exclusive. Choose one or the other.\\n\");\n+\t\texit(EXIT_FAILURE);\n+\t}\n+\n \tif ((argc - optind) != 1 || error)\n \t\tdisplay_help ();\n \n@@ -239,10 +251,12 @@ int main(int argc, char * const argv[])\n \t\t/* check if we can read ecc stats */\n \t\tif (!ioctl(fd, ECCGETSTATS, &stat1)) {\n \t\t\teccstats = true;\n-\t\t\tfprintf(stderr, \"ECC failed: %d\\n\", stat1.failed);\n-\t\t\tfprintf(stderr, \"ECC corrected: %d\\n\", stat1.corrected);    \n-\t\t\tfprintf(stderr, \"Number of bad blocks: %d\\n\", stat1.badblocks);    \n-\t\t\tfprintf(stderr, \"Number of bbt blocks: %d\\n\", stat1.bbtblocks);    \n+\t\t\tif (!quiet) {\n+\t\t\t\tfprintf(stderr, \"ECC failed: %d\\n\", stat1.failed);\n+\t\t\t\tfprintf(stderr, \"ECC corrected: %d\\n\", stat1.corrected);    \n+\t\t\t\tfprintf(stderr, \"Number of bad blocks: %d\\n\", stat1.badblocks);    \n+\t\t\t\tfprintf(stderr, \"Number of bbt blocks: %d\\n\", stat1.bbtblocks);    \n+\t\t\t}\n \t\t} else\n \t\t\tperror(\"No ECC status information available\");\n \t}\n@@ -266,12 +280,14 @@ int main(int argc, char * const argv[])\n \tbs = meminfo.writesize;\n \n \t/* Print informative message */\n-\tfprintf(stderr, \"Block size %u, page size %u, OOB size %u\\n\",\n-\t\t\tmeminfo.erasesize, meminfo.writesize, meminfo.oobsize);\n-\tfprintf(stderr,\n-\t\t\t\"Dumping data starting at 0x%08x and ending at 0x%08x...\\n\",\n-\t\t\t(unsigned int) start_addr, (unsigned int) end_addr);\n \n+\tif (!quiet) {\n+\t\tfprintf(stderr, \"Block size %u, page size %u, OOB size %u\\n\",\n+\t\t\t\tmeminfo.erasesize, meminfo.writesize, meminfo.oobsize);\n+\t\tfprintf(stderr,\n+\t\t\t\t\"Dumping data starting at 0x%08x and ending at 0x%08x...\\n\",\n+\t\t\t\t(unsigned int) start_addr, (unsigned int) end_addr);\n+\t}\n \t/* Dump the flash contents */\n \tfor (ofs = start_addr; ofs < end_addr ; ofs+=bs) {\n \n","prefixes":[]}