diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2020-12-11 10:52:24 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2020-12-11 10:57:52 +0100 |
commit | 41716009e150053a04c19bc2028ff7e1016a5fde (patch) | |
tree | 766045a827d4e2728749d0637674b24733ca7694 | |
parent | 6748f466a3c85a3a776fe8ae64acbed5d803d829 (diff) | |
download | barebox-41716009e150053a04c19bc2028ff7e1016a5fde.tar.gz barebox-41716009e150053a04c19bc2028ff7e1016a5fde.tar.xz |
mtd: nand: Make software ECC support optional
Most NAND controllers use hardware ECC, so make software ECC support
optional to save some binary space.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | drivers/mtd/nand/Kconfig | 5 | ||||
-rw-r--r-- | drivers/mtd/nand/nand_base.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig index 339f7a923d..7c93260892 100644 --- a/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig @@ -7,8 +7,13 @@ menuconfig NAND if NAND +config MTD_NAND_ECC_SOFT + bool + prompt "Support software ecc" + config MTD_NAND_ECC_SW_BCH select BCH + depends on MTD_NAND_ECC_SOFT bool prompt "Support software BCH ecc" diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c index 0a980e4499..7c325f1f70 100644 --- a/drivers/mtd/nand/nand_base.c +++ b/drivers/mtd/nand/nand_base.c @@ -5053,6 +5053,9 @@ static int nand_set_ecc_soft_ops(struct nand_chip *chip) struct mtd_info *mtd = nand_to_mtd(chip); struct nand_ecc_ctrl *ecc = &chip->ecc; + if (!IS_ENABLED(CONFIG_MTD_NAND_ECC_SOFT)) + return -ENOSYS; + if (WARN_ON(ecc->mode != NAND_ECC_SOFT)) return -EINVAL; |