mtd: nand: davinci: remove custom 'erased check' implementation
authorBoris BREZILLON <boris.brezillon@free-electrons.com>
Wed, 30 Dec 2015 19:32:05 +0000 (20:32 +0100)
committerBrian Norris <computersforpeace@gmail.com>
Thu, 7 Jan 2016 02:53:46 +0000 (18:53 -0800)
The davinci driver is manually checking for 'erased pages' while
correcting ECC bytes.
This logic can now done by the core infrastructure, and can thus be removed
from this driver.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Tested-by: Franklin S Cooper Jr. <fcooper@ti.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
drivers/mtd/nand/davinci_nand.c

index ddb73c33193646c7bcfc318f16d0e5af74fcd9bf..8cb821b6686efea3c22854946a5031718c598f94 100644 (file)
@@ -317,14 +317,6 @@ static int nand_davinci_correct_4bit(struct mtd_info *mtd,
        unsigned num_errors, corrected;
        unsigned long timeo;
 
-       /* All bytes 0xff?  It's an erased page; ignore its ECC. */
-       for (i = 0; i < 10; i++) {
-               if (ecc_code[i] != 0xff)
-                       goto compare;
-       }
-       return 0;
-
-compare:
        /* Unpack ten bytes into eight 10 bit values.  We know we're
         * little-endian, and use type punning for less shifting/masking.
         */
@@ -749,6 +741,7 @@ static int nand_davinci_probe(struct platform_device *pdev)
                        info->chip.ecc.correct = nand_davinci_correct_4bit;
                        info->chip.ecc.hwctl = nand_davinci_hwctl_4bit;
                        info->chip.ecc.bytes = 10;
+                       info->chip.ecc.options = NAND_ECC_GENERIC_ERASED_CHECK;
                } else {
                        info->chip.ecc.calculate = nand_davinci_calculate_1bit;
                        info->chip.ecc.correct = nand_davinci_correct_1bit;
This page took 0.024477 seconds and 5 git commands to generate.