]> git.baikalelectronics.ru Git - kernel.git/commit
mxc_nand: cleanup eccoob descriptions
authorSascha Hauer <s.hauer@pengutronix.de>
Wed, 21 Oct 2009 08:22:01 +0000 (10:22 +0200)
committerSascha Hauer <s.hauer@pengutronix.de>
Thu, 12 Nov 2009 07:31:28 +0000 (08:31 +0100)
commit368a090ea11a48d98bdced9f2392924da097c2fd
tree4fe389ea8ddf2bbefcd2d25545638e787d4c5fac
parent3a50e9c969b4b7a77c48a946be4b9f55cabed03a
mxc_nand: cleanup eccoob descriptions

The original Freescale driver used to have eccoob descriptions like
this:

static struct nand_ecclayout nand_hw_eccoob_8 = {
.eccbytes = 5,
.eccpos = {6, 7, 8, 9, 10},
.oobfree = {{0, 5}, {11, 5}}
};

static struct nand_ecclayout nand_hw_eccoob_16 = {
.eccbytes = 5,
.eccpos = {6, 7, 8, 9, 10},
.oobfree = {{0, 6}, {12, 4}}
};

The former was used for 8bit flashes and the latter for 16bit flashes.
They honored the fact that the bad block marker on 8bit flashes is on byte 5
while on 16bit flashes it is on byte 11.
In the Kernel driver this was copied wrong and we ended up with two identical
descriptions.

Change it so that we have only one description which leaves byte 5 and byte
11 unspecified so that it won't be used by others.

Also, rename the descriptions to nand_hw_eccoob_smallpage and
nand_hw_eccoob_largepage so that it can't be confused with Nand chip bus
widths (what actually happened in this driver)

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
drivers/mtd/nand/mxc_nand.c