mtd: nand: davinci: set ECC algorithm explicitly
[deliverable/linux.git] / drivers / mtd / nand / davinci_nand.c
index 0198536a19443ccc69edab3194c16c0e0a47bc30..cc07ba0f044deeb167772c529a635236377d983b 100644 (file)
@@ -723,8 +723,17 @@ static int nand_davinci_probe(struct platform_device *pdev)
 
        switch (info->chip.ecc.mode) {
        case NAND_ECC_NONE:
+               pdata->ecc_bits = 0;
+               break;
        case NAND_ECC_SOFT:
                pdata->ecc_bits = 0;
+               /*
+                * This driver expects Hamming based ECC when ecc_mode is set
+                * to NAND_ECC_SOFT. Force ecc.algo to NAND_ECC_HAMMING to
+                * avoid adding an extra ->ecc_algo field to
+                * davinci_nand_pdata.
+                */
+               info->chip.ecc.algo = NAND_ECC_HAMMING;
                break;
        case NAND_ECC_HW:
                if (pdata->ecc_bits == 4) {
This page took 0.026718 seconds and 5 git commands to generate.