Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933249AbbLHIoJ (ORCPT ); Tue, 8 Dec 2015 03:44:09 -0500 Received: from down.free-electrons.com ([37.187.137.238]:58808 "EHLO mail.free-electrons.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932949AbbLHIoH (ORCPT ); Tue, 8 Dec 2015 03:44:07 -0500 Date: Tue, 8 Dec 2015 09:43:58 +0100 From: Boris Brezillon To: Julian Calaby Cc: David Woodhouse , Brian Norris , linux-mtd@lists.infradead.org, Daniel Mack , Haojian Zhuang , Robert Jarzmik , Kukjin Kim , Krzysztof Kozlowski , linux-samsung-soc@vger.kernel.org, "Mailing List, Arm" , Ralf Baechle , linux-mips@linux-mips.org, Josh Wu , Ezequiel Garcia , Maxime Ripard , Chen-Yu Tsai , linux-sunxi , Stefan Agner , Kyungmin Park , Greg Kroah-Hartman , "devel@driverdev.osuosl.org" , "linux-kernel@vger.kernel.org" , punnaiah choudary kalluri Subject: Re: [linux-sunxi] [PATCH 21/23] staging: mt29f_spinand: switch to mtd_ooblayout_ops Message-ID: <20151208094358.2be0f191@bbrezillon> In-Reply-To: References: <1449527178-5930-1-git-send-email-boris.brezillon@free-electrons.com> <1449527178-5930-22-git-send-email-boris.brezillon@free-electrons.com> X-Mailer: Claws Mail 3.11.1 (GTK+ 2.24.27; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2242 Lines: 70 Hi Julian, On Tue, 8 Dec 2015 10:59:53 +1100 Julian Calaby wrote: > Hi Boris, > > On Tue, Dec 8, 2015 at 9:26 AM, Boris Brezillon > wrote: > > Signed-off-by: Boris Brezillon > > --- > > drivers/staging/mt29f_spinand/mt29f_spinand.c | 44 ++++++++++++++++----------- > > 1 file changed, 26 insertions(+), 18 deletions(-) > > > > diff --git a/drivers/staging/mt29f_spinand/mt29f_spinand.c b/drivers/staging/mt29f_spinand/mt29f_spinand.c > > index cb9d5ab..967d50a 100644 > > --- a/drivers/staging/mt29f_spinand/mt29f_spinand.c > > +++ b/drivers/staging/mt29f_spinand/mt29f_spinand.c > > @@ -42,23 +42,29 @@ static inline struct spinand_state *mtd_to_state(struct mtd_info *mtd) > > static int enable_hw_ecc; > > static int enable_read_hw_ecc; > > > > -static struct nand_ecclayout spinand_oob_64 = { > > - .eccbytes = 24, > > - .eccpos = { > > - 1, 2, 3, 4, 5, 6, > > - 17, 18, 19, 20, 21, 22, > > - 33, 34, 35, 36, 37, 38, > > - 49, 50, 51, 52, 53, 54, }, > > - .oobfree = { > > - {.offset = 8, > > - .length = 8}, > > - {.offset = 24, > > - .length = 8}, > > - {.offset = 40, > > - .length = 8}, > > - {.offset = 56, > > - .length = 8}, > > - } > > +static int spinand_oob_64_eccpos(struct mtd_info *mtd, int eccbyte) > > +{ > > + if (eccbyte > 23) > > + return -ERANGE; > > + > > + return ((eccbyte / 6) * 16) + 1; > > Are you sure this is correct? My reading of this is that we'd get 1 > for eccbytes 0 through 5. > > Would > > ((eccbyte / 6) * 16) + (eccbyte % 6) + 1 > > be more correct? Absolutely. I'll fix that. Thanks, Boris -- Boris Brezillon, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/