aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/nand/cs553x_nand.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/cs553x_nand.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/cs553x_nand.c')
-rw-r--r--drivers/mtd/nand/cs553x_nand.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/mtd/nand/cs553x_nand.c b/drivers/mtd/nand/cs553x_nand.c
index bf251253ea1f..064f3feadf53 100644
--- a/drivers/mtd/nand/cs553x_nand.c
+++ b/drivers/mtd/nand/cs553x_nand.c
@@ -242,11 +242,13 @@ static int __init cs553x_init_one(int cs, int mmio, unsigned long adr)
242 242
243 this->chip_delay = 0; 243 this->chip_delay = 0;
244 244
245 this->eccmode = NAND_ECC_HW3_256; 245 this->ecc.mode = NAND_ECC_HW;
246 this->enable_hwecc = cs_enable_hwecc; 246 this->ecc.size = 256;
247 this->calculate_ecc = cs_calculate_ecc; 247 this->ecc.bytes = 3;
248 this->correct_data = nand_correct_data; 248 this->ecc.hwctl = cs_enable_hwecc;
249 249 this->ecc.calculate = cs_calculate_ecc;
250 this->ecc.correct = nand_correct_data;
251
250 /* Enable the following for a flash based bad block table */ 252 /* Enable the following for a flash based bad block table */
251 this->options = NAND_USE_FLASH_BBT | NAND_NO_AUTOINCR; 253 this->options = NAND_USE_FLASH_BBT | NAND_NO_AUTOINCR;
252 254