From patchwork Thu Oct 24 10:59:51 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Huang Shijie X-Patchwork-Id: 285878 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from casper.infradead.org (unknown [IPv6:2001:770:15f::2]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id B1A252C00E0 for ; Thu, 24 Oct 2013 22:18:56 +1100 (EST) Received: from merlin.infradead.org ([2001:4978:20e::2]) by casper.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1VZIw1-0007V4-IB; Thu, 24 Oct 2013 11:18:37 +0000 Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1VZIvz-0005gZ-UB; Thu, 24 Oct 2013 11:18:35 +0000 Received: from co9ehsobe004.messaging.microsoft.com ([207.46.163.27] helo=co9outboundpool.messaging.microsoft.com) by merlin.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1VZIvx-0005fQ-8n for linux-mtd@lists.infradead.org; Thu, 24 Oct 2013 11:18:34 +0000 Received: from mail96-co9-R.bigfish.com (10.236.132.248) by CO9EHSOBE011.bigfish.com (10.236.130.74) with Microsoft SMTP Server id 14.1.225.22; Thu, 24 Oct 2013 11:18:11 +0000 Received: from mail96-co9 (localhost [127.0.0.1]) by mail96-co9-R.bigfish.com (Postfix) with ESMTP id 359FE880283; Thu, 24 Oct 2013 11:18:11 +0000 (UTC) X-Forefront-Antispam-Report: CIP:70.37.183.190; KIP:(null); UIP:(null); IPV:NLI; H:mail.freescale.net; RD:none; EFVD:NLI X-SpamScore: 3 X-BigFish: VS3(zzzz1f42h208ch1ee6h1de0h1fdah2073h1202h1e76h1d1ah1d2ah1fc6h1082kzz1de098h8275bh1de097hz2dh2a8h839hd24he5bhf0ah1288h12a5h12a9h12bdh12e5h137ah139eh13b6h1441h1504h1537h162dh1631h1758h1898h18e1h1946h19b5h1ad9h1b0ah1b2fh1fb3h1d0ch1d2eh1d3fh1dc1h1dfeh1dffh1e23h1fe8h1ff5h1155h) Received: from mail96-co9 (localhost.localdomain [127.0.0.1]) by mail96-co9 (MessageSwitch) id 1382613448236731_26743; Thu, 24 Oct 2013 11:17:28 +0000 (UTC) Received: from CO9EHSMHS023.bigfish.com (unknown [10.236.132.226]) by mail96-co9.bigfish.com (Postfix) with ESMTP id 35F3C20165; Thu, 24 Oct 2013 11:17:28 +0000 (UTC) Received: from mail.freescale.net (70.37.183.190) by CO9EHSMHS023.bigfish.com (10.236.130.33) with Microsoft SMTP Server (TLS) id 14.16.227.3; Thu, 24 Oct 2013 11:17:26 +0000 Received: from tx30smr01.am.freescale.net (10.81.153.31) by 039-SN1MMR1-004.039d.mgd.msft.net (10.84.1.14) with Microsoft SMTP Server (TLS) id 14.3.158.2; Thu, 24 Oct 2013 11:17:25 +0000 Received: from shlinux2.ap.freescale.net (shlinux2.ap.freescale.net [10.192.224.44]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id r9OBHM7D002391; Thu, 24 Oct 2013 04:17:23 -0700 From: Huang Shijie To: Subject: [PATCH v2] flash_erase: check the nand type Date: Thu, 24 Oct 2013 18:59:51 +0800 Message-ID: <1382612391-13036-1-git-send-email-b32955@freescale.com> X-Mailer: git-send-email 1.7.2.rc3 MIME-Version: 1.0 X-OriginatorOrg: freescale.com X-FOPE-CONNECTOR: Id%0$Dn%*$RO%0$TLS%0$FQDN%$TlsDn% X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20131024_071833_441208_D1D10A98 X-CRM114-Status: GOOD ( 10.22 ) X-Spam-Score: -4.2 (----) X-Spam-Report: SpamAssassin version 3.3.2 on merlin.infradead.org summary: Content analysis details: (-4.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/, medium trust [207.46.163.27 listed in list.dnswl.org] -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] Cc: Huang Shijie , computersforpeace@gmail.com, linux-mtd@lists.infradead.org, dedekind1@gmail.com X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Now, the MTD_NANDFLASH stands for SLC nand, and the MTD_MLCNANDFLASH stands for the MLC nand. This patch includes the stdbool.h, and changes the "isNAND" to boolean type, and checks the right nand type for the MLC and SLC nand. If the user wants to format a MLC nand for JFFS2, we will print out a message to warn him, and exit right now. Signed-off-by: Huang Shijie --- flash_erase.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/flash_erase.c b/flash_erase.c index 1421cf9..933373a 100644 --- a/flash_erase.c +++ b/flash_erase.c @@ -21,6 +21,7 @@ #define PROGRAM_NAME "flash_erase" #include +#include #include #include #include @@ -95,7 +96,7 @@ int main(int argc, char *argv[]) int fd, clmpos = 0, clmlen = 8; unsigned long long start; unsigned int eb, eb_start, eb_cnt; - int isNAND; + bool isNAND; int error = 0; off_t offset = 0; @@ -182,9 +183,12 @@ int main(int argc, char *argv[]) if (mtd_get_dev_info(mtd_desc, mtd_device, &mtd) < 0) return errmsg("mtd_get_dev_info failed"); + if (jffs2 && mtd.type == MTD_MLCNANDFLASH) + return errmsg("JFFS2 cannot support MLC NAND."); + eb_start = start / mtd.eb_size; - isNAND = mtd.type == MTD_NANDFLASH ? 1 : 0; + isNAND = mtd.type == MTD_NANDFLASH || mtd.type == MTD_MLCNANDFLASH; if (jffs2) { cleanmarker.magic = cpu_to_je16 (JFFS2_MAGIC_BITMASK);