[PATCH V3 02/11] mtd: nand: davinci: set ECC algorithm explicitly

From: RafaÅ MiÅecki
Date: Sun Apr 17 2016 - 16:53:29 EST


This is part of process deprecating NAND_ECC_SOFT_BCH (and switching to
enum nand_ecc_algo).

Signed-off-by: RafaÅ MiÅecki <zajec5@xxxxxxxxx>
Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>
---
drivers/mtd/nand/davinci_nand.c | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/drivers/mtd/nand/davinci_nand.c b/drivers/mtd/nand/davinci_nand.c
index fe3fd29..b0a2801 100644
--- a/drivers/mtd/nand/davinci_nand.c
+++ b/drivers/mtd/nand/davinci_nand.c
@@ -738,6 +738,14 @@ static int nand_davinci_probe(struct platform_device *pdev)
}
info->chip.ecc.mode = ecc_mode;

+ /*
+ * When using software ECC this driver support hamming only. Force
+ * ecc.algo to NAND_ECC_HAMMING to avoid adding an extra ->ecc_algo
+ * field to davinci_nand_pdata.
+ */
+ if (ecc_mode == NAND_ECC_SOFT)
+ info->chip.ecc.algo = NAND_ECC_HAMMING;
+
info->clk = devm_clk_get(&pdev->dev, "aemif");
if (IS_ERR(info->clk)) {
ret = PTR_ERR(info->clk);
--
1.8.4.5