mtd: nand: jz4740: remove custom 'erased check' implementation
authorBoris BREZILLON <boris.brezillon@free-electrons.com>
Wed, 30 Dec 2015 19:41:29 +0000 (20:41 +0100)
committerBrian Norris <computersforpeace@gmail.com>
Thu, 7 Jan 2016 02:54:08 +0000 (18:54 -0800)
The jz4740 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>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
drivers/mtd/nand/jz4740_nand.c

index adccae3da12072aeb0f886ed25bfbe6241dfbd71..b19d2a9a5eb97cb36ab64ca4108c5ff9fceb5ca2 100644 (file)
@@ -224,24 +224,6 @@ static int jz_nand_correct_ecc_rs(struct mtd_info *mtd, uint8_t *dat,
        uint32_t t;
        unsigned int timeout = 1000;
 
-       t = read_ecc[0];
-
-       if (t == 0xff) {
-               for (i = 1; i < 9; ++i)
-                       t &= read_ecc[i];
-
-               t &= dat[0];
-               t &= dat[nand->chip.ecc.size / 2];
-               t &= dat[nand->chip.ecc.size - 1];
-
-               if (t == 0xff) {
-                       for (i = 1; i < nand->chip.ecc.size - 1; ++i)
-                               t &= dat[i];
-                       if (t == 0xff)
-                               return 0;
-               }
-       }
-
        for (i = 0; i < 9; ++i)
                writeb(read_ecc[i], nand->base + JZ_REG_NAND_PAR0 + i);
 
@@ -443,6 +425,7 @@ static int jz_nand_probe(struct platform_device *pdev)
        chip->ecc.size          = 512;
        chip->ecc.bytes         = 9;
        chip->ecc.strength      = 4;
+       chip->ecc.options       = NAND_ECC_GENERIC_ERASED_CHECK;
 
        if (pdata)
                chip->ecc.layout = pdata->ecc_layout;