From patchwork Tue Feb 17 14:03:40 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Korsgaard X-Patchwork-Id: 23256 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from bombadil.infradead.org (bombadil.infradead.org [18.85.46.34]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 0B919DDE00 for ; Wed, 18 Feb 2009 01:05:38 +1100 (EST) Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.69 #1 (Red Hat Linux)) id 1LZQY8-0006h0-3a; Tue, 17 Feb 2009 14:03:48 +0000 Received: from ey-out-1920.google.com ([74.125.78.144]) by bombadil.infradead.org with esmtp (Exim 4.69 #1 (Red Hat Linux)) id 1LZQY3-0006gv-HR for linux-mtd@lists.infradead.org; Tue, 17 Feb 2009 14:03:46 +0000 Received: by ey-out-1920.google.com with SMTP id 4so228075eyg.24 for ; Tue, 17 Feb 2009 06:03:42 -0800 (PST) Received: by 10.210.125.13 with SMTP id x13mr1714214ebc.43.1234879421999; Tue, 17 Feb 2009 06:03:41 -0800 (PST) Received: from macbook.be.48ers.dk (191.207-78-194.adsl-fix.skynet.be [194.78.207.191]) by mx.google.com with ESMTPS id 7sm17171156eyg.47.2009.02.17.06.03.41 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 17 Feb 2009 06:03:41 -0800 (PST) Received: by macbook.be.48ers.dk (Postfix, from userid 1000) id 857FEC3AE2; Tue, 17 Feb 2009 15:03:40 +0100 (CET) From: Peter Korsgaard To: linux-mtd@lists.infradead.org Subject: [PATCH] mtd-utils: handle non-power-of-2 erase size (E.G. for dataflash) Date: Tue, 17 Feb 2009 15:03:40 +0100 Message-Id: <1234879420-29736-1-git-send-email-jacmet@sunsite.dk> X-Mailer: git-send-email 1.5.6.5 X-Spam-Score: 0.0 (/) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.9 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: linux-mtd-bounces@lists.infradead.org Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Signed-off-by: Peter Korsgaard --- flashcp.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/flashcp.c b/flashcp.c index 7f7764a..8775022 100644 --- a/flashcp.c +++ b/flashcp.c @@ -255,8 +255,9 @@ int main (int argc,char *argv[]) #warning "Check for smaller erase regions" erase.start = 0; - erase.length = filestat.st_size & ~(mtd.erasesize - 1); - if (filestat.st_size % mtd.erasesize) erase.length += mtd.erasesize; + erase.length = (filestat.st_size + mtd.erasesize - 1) / mtd.erasesize; + erase.length *= mtd.erasesize; + if (flags & FLAG_VERBOSE) { /* if the user wants verbose output, erase 1 block at a time and show him/her what's going on */