summaryrefslogtreecommitdiffstats
path: root/drivers/mtd/nand
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2016-04-17 22:53:06 +0200
committerBoris Brezillon <boris.brezillon@free-electrons.com>2016-05-05 23:55:13 +0200
commitae211bcfa1d013bea16912e7caebb1367740d4b4 (patch)
tree70b1e9a53102f7b1210b1dbe3a1a282b2c4a881c /drivers/mtd/nand
parentmtd: nand: read ECC algorithm from the new field (diff)
downloadlinux-ae211bcfa1d013bea16912e7caebb1367740d4b4.tar.xz
linux-ae211bcfa1d013bea16912e7caebb1367740d4b4.zip
mtd: drop support for NAND_ECC_SOFT_BCH as "soft_bch" mapping
There isn't any difference between handling NAND_ECC_SOFT and NAND_ECC_SOFT_BCH now. What matters is the new field called "algo". Please note we're keeping backward DT compatibility. We are still treating "soft_bch" value as the one setting Hamming algorithm, it's just handled in of_get_nand_ecc_algo now. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Diffstat (limited to 'drivers/mtd/nand')
-rw-r--r--drivers/mtd/nand/nand_base.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
index 9f967531bc68..1d74b802aa0a 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
@@ -3977,7 +3977,6 @@ static const char * const nand_ecc_modes[] = {
[NAND_ECC_HW] = "hw",
[NAND_ECC_HW_SYNDROME] = "hw_syndrome",
[NAND_ECC_HW_OOB_FIRST] = "hw_oob_first",
- [NAND_ECC_SOFT_BCH] = "soft_bch",
};
static int of_get_nand_ecc_mode(struct device_node *np)
@@ -3993,6 +3992,14 @@ static int of_get_nand_ecc_mode(struct device_node *np)
if (!strcasecmp(pm, nand_ecc_modes[i]))
return i;
+ /*
+ * For backward compatibility we support few obsoleted values that don't
+ * have their mappings into nand_ecc_modes_t anymore (they were merged
+ * with other enums).
+ */
+ if (!strcasecmp(pm, "soft_bch"))
+ return NAND_ECC_SOFT;
+
return -ENODEV;
}