S3C2410 Allow ECC disable to be specified by the board

Ben Dooks
2008-04-15T10:37:11Z

[-- Attachment #1: simtec/simtec-drivers-mtd-nand-s3c2410-disable-ecc.patch --]
[-- Type: text/plain, Size: 1243 bytes --]

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>

Index: linux-2.6.25-rc9-quilt2/drivers/mtd/nand/s3c2410.c
===================================================================
--- linux-2.6.25-rc9-quilt2.orig/drivers/mtd/nand/s3c2410.c 2008-04-15 11:07:26.000000000 +0100
+++ linux-2.6.25-rc9-quilt2/drivers/mtd/nand/s3c2410.c 2008-04-15 11:07:28.000000000 +0100
@@ -675,6 +675,9 @@ static void s3c2410_nand_init_chip(struc

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
Index: linux-2.6.25-rc9-quilt2/include/asm-arm/plat-s3c/nand.h
===================================================================
--- linux-2.6.25-rc9-quilt2.orig/include/asm-arm/plat-s3c/nand.h 2008-04-15 11:07:26.000000000 +0100
+++ linux-2.6.25-rc9-quilt2/include/asm-arm/plat-s3c/nand.h 2008-04-15 11:07:28.000000000 +0100
@@ -22,6 +22,8 @@
*/

struct s3c2410_nand_set {
+ unsigned int disable_ecc : 1;
+
int nr_chips;
int nr_partitions;
char *name;