S3C2410 Allow ECC layout to be passed through platform data

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

[-- Attachment #1: simtec/simtec-drivers-mtd-nand-s3c2410-specify-oob.patch --]
[-- Type: text/plain, Size: 1270 bytes --]

Add support for the ECC layout to be passed via the
platform data specified by the board.

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:20.000000000 +0100
+++ linux-2.6.25-rc9-quilt2/drivers/mtd/nand/s3c2410.c 2008-04-15 11:07:26.000000000 +0100
@@ -672,6 +672,9 @@ static void s3c2410_nand_init_chip(struc
} else {
chip->ecc.mode = NAND_ECC_SOFT;
}
+
+ if (set->ecc_layout != NULL)
+ chip->ecc.layout = set->ecc_layout;
}

/* 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:20.000000000 +0100
+++ linux-2.6.25-rc9-quilt2/include/asm-arm/plat-s3c/nand.h 2008-04-15 11:07:26.000000000 +0100
@@ -27,6 +27,7 @@ struct s3c2410_nand_set {
char *name;
int *nr_map;
struct mtd_partition *partitions;
+ struct nand_ecclayout *ecc_layout;
};

struct s3c2410_platform_nand {