From: Eirik Aanosnen Date: Thu, 12 Feb 2007 11:00:13 +0100 Subject: [PATCH] [NAND] Implement oop 128 This patch applies a 128 oob layout to the NAND base Signed-off-by: Eirik Aanonsen --- diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c index e29c1da..e9ce269 100644 --- a/drivers/mtd/nand/nand_base.c +++ b/drivers/mtd/nand/nand_base.c @@ -81,6 +81,19 @@ static struct nand_ecclayout nand_oob_64 = { {.offset = 2, .length = 38}} }; +static struct nand_ecclayout nand_oob_128 = { + .eccbytes = 48, + .eccpos = { + 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127}, + .oobfree = { + {.offset = 2, + .length = 78}} +}; static int nand_get_device(struct nand_chip *chip, struct mtd_info *mtd, int new_state); @@ -2437,6 +2450,9 @@ int nand_scan_tail(struct mtd_info *mtd) case 64: chip->ecc.layout = &nand_oob_64; break; + case 128: + chip->ecc.layout = &nand_oob_128; + break; default: printk(KERN_WARNING "No oob scheme defined for " "oobsize %d\n", mtd->oobsize);