summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Dooks <ben-mtd@fluff.org>2008-04-15 11:36:22 +0100
committerDavid Woodhouse <dwmw2@infradead.org>2008-04-22 21:41:32 +0100
commit37e5ffa3f15bd9a8b133ab13e9bef833b5eb33d4 (patch)
treeb00891a6842d7eb1c4ddcc3b8283e1aed29bff97
parent1c21ab67b7d3c9a1296019939e0efb69350487cf (diff)
downloadlinux-37e5ffa3f15bd9a8b133ab13e9bef833b5eb33d4.tar.bz2
[MTD] [NAND] S3C2410 Allow ECC disable to be specified by the board
Add support to disable ECC checking for a given chip when passed by the board via the platform data. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
-rw-r--r--drivers/mtd/nand/s3c2410.c3
-rw-r--r--include/asm-arm/plat-s3c/nand.h2
2 files changed, 5 insertions, 0 deletions
diff --git a/drivers/mtd/nand/s3c2410.c b/drivers/mtd/nand/s3c2410.c
index ccacc40e64ee..b34a460ab679 100644
--- a/drivers/mtd/nand/s3c2410.c
+++ b/drivers/mtd/nand/s3c2410.c
@@ -675,6 +675,9 @@ static void s3c2410_nand_init_chip(struct s3c2410_nand_info *info,
if (set->ecc_layout != NULL)
chip->ecc.layout = set->ecc_layout;
+
+ if (set->disable_ecc)
+ chip->ecc.mode = NAND_ECC_NONE;
}
/* s3c2410_nand_update_chip
diff --git a/include/asm-arm/plat-s3c/nand.h b/include/asm-arm/plat-s3c/nand.h
index 01d175b54bce..ad6bbe90616e 100644
--- a/include/asm-arm/plat-s3c/nand.h
+++ b/include/asm-arm/plat-s3c/nand.h
@@ -22,6 +22,8 @@
*/
struct s3c2410_nand_set {
+ unsigned int disable_ecc : 1;
+
int nr_chips;
int nr_partitions;
char *name;