[PATCH 1/5] mtd: nand: move layout structure into nand_ecc_ctrl

David Brownell david-b at pacbell.net
Thu May 14 14:08:07 EDT 2009


On Thursday 14 May 2009, Troy Kisky wrote:
> David Brownell wrote:
> > On Wednesday 13 May 2009, Troy Kisky wrote:
> >> +static const struct nand_ecclayout atmel_oobinfo_large __initdata = {
> > 
> > Doesn't this give you section warnings?  __initconst is what
> > I usually end up needing in such cases...
> 
> Only if the same file has a non const __initdata variable.
> Is __initconst the preferred method ?

Yes; it will always work, but __initdata won't always work.


> > Also, for the davinci_nand driver this is going to need to
> > switch away from the ecclayout struct in the driver-private
> > area ... that's in a patch that (still) hasn't merged into
> > the MTD tree, but was stored there for the same reason that
> > you're submitting this patch:  the original code, using the
> > annoying ECC_HW_SYNDROME support, computed the layout.
> > 
> > - Dave
> 
> Is ECC_HW_SYNDROME only needed because the eccpos array is too small??

No; it uses different algorithms to read/write, which
completely ignore ecclayout.  AFAICT ECC_HW_SYNDROME is
largely unused/untested except for single-chunk mode.

The size issue is that a 4-bit ECC code producing 10 bytes
of ECC per 512 bytes of data needs 80 bytes with 4K pages,
which obviously can't fit into the 64 bytes in ecclayout.

- Dave


> I'll have to review that prepad  and ECC_HW_SYNDROME
> Thanks
> 
> Troy
> 
> 





More information about the linux-mtd mailing list