summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2016-04-17 22:52:58 +0200
committerBoris Brezillon <boris.brezillon@free-electrons.com>2016-05-05 23:52:02 +0200
commit867f9873fef69414355e2e1ef547f9b080c3fd69 (patch)
tree01e9873878c491491cccff9411d8f9455d8239ff
parentmtd: nand: bf5xx: set ECC algorithm explicitly (diff)
downloadlinux-867f9873fef69414355e2e1ef547f9b080c3fd69.tar.xz
linux-867f9873fef69414355e2e1ef547f9b080c3fd69.zip
mtd: nand: davinci: set ECC algorithm explicitly
This is part of process deprecating NAND_ECC_SOFT_BCH (and switching to enum nand_ecc_algo). Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
-rw-r--r--drivers/mtd/nand/davinci_nand.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/mtd/nand/davinci_nand.c b/drivers/mtd/nand/davinci_nand.c
index 0198536a1944..cc07ba0f044d 100644
--- a/drivers/mtd/nand/davinci_nand.c
+++ b/drivers/mtd/nand/davinci_nand.c
@@ -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) {