aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/nand/s3c2410.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@cruncher.tec.linutronix.de>2006-05-23 06:00:46 -0400
committerThomas Gleixner <tglx@cruncher.tec.linutronix.de>2006-05-23 06:00:46 -0400
commit6dfc6d250d0b7ebaa6423c44dcd09fcfe68deabd (patch)
tree2be25b1e302eca5984a8ad5ed3e5bde77bafaabb /drivers/mtd/nand/s3c2410.c
parent7aa65bfd6793a56cc3bbce8436abbfea3a7bdd1f (diff)
[MTD] NAND modularize ECC
First step of modularizing ECC support. - Move ECC related functionality into a seperate embedded data structure - Get rid of the hardware dependend constants to simplify new ECC models Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'drivers/mtd/nand/s3c2410.c')
-rw-r--r--drivers/mtd/nand/s3c2410.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/drivers/mtd/nand/s3c2410.c b/drivers/mtd/nand/s3c2410.c
index f8002596de8b..608340a25278 100644
--- a/drivers/mtd/nand/s3c2410.c
+++ b/drivers/mtd/nand/s3c2410.c
@@ -520,18 +520,20 @@ static void s3c2410_nand_init_chip(struct s3c2410_nand_info *info,
520 nmtd->set = set; 520 nmtd->set = set;
521 521
522 if (hardware_ecc) { 522 if (hardware_ecc) {
523 chip->correct_data = s3c2410_nand_correct_data; 523 chip->ecc.correct = s3c2410_nand_correct_data;
524 chip->enable_hwecc = s3c2410_nand_enable_hwecc; 524 chip->ecc.hwctl = s3c2410_nand_enable_hwecc;
525 chip->calculate_ecc = s3c2410_nand_calculate_ecc; 525 chip->ecc.calculate = s3c2410_nand_calculate_ecc;
526 chip->eccmode = NAND_ECC_HW3_512; 526 chip->ecc.mode = NAND_ECC_HW;
527 chip->ecc.size = 512;
528 chip->ecc.bytes = 3;
527 chip->autooob = &nand_hw_eccoob; 529 chip->autooob = &nand_hw_eccoob;
528 530
529 if (info->is_s3c2440) { 531 if (info->is_s3c2440) {
530 chip->enable_hwecc = s3c2440_nand_enable_hwecc; 532 chip->ecc.hwctl = s3c2440_nand_enable_hwecc;
531 chip->calculate_ecc = s3c2440_nand_calculate_ecc; 533 chip->ecc.calculate = s3c2440_nand_calculate_ecc;
532 } 534 }
533 } else { 535 } else {
534 chip->eccmode = NAND_ECC_SOFT; 536 chip->ecc.mode = NAND_ECC_SOFT;
535 } 537 }
536} 538}
537 539