diff options
| author | Scott Wood <scottwood@freescale.com> | 2012-02-13 15:46:27 -0600 | 
|---|---|---|
| committer | Scott Wood <scottwood@freescale.com> | 2012-02-28 14:03:39 -0600 | 
| commit | 1f7b1743d389fec616e9021012a03847f490cd18 (patch) | |
| tree | da19877749626b38dffa2cfb7e1599f16c9380cf | |
| parent | 54e96680cb96fb7a4b8f43fd949c62054004d3e5 (diff) | |
| download | olio-uboot-2014.01-1f7b1743d389fec616e9021012a03847f490cd18.tar.xz olio-uboot-2014.01-1f7b1743d389fec616e9021012a03847f490cd18.zip | |
Revert "nand: make 1-bit software ECC configurable"
This reverts commit 4fee6c2f295f932b8febdc7ce8731ba045695fa5.
It breaks boards that currently rely on soft-ecc, as pointed out here:
http://patchwork.ozlabs.org/patch/140872/
The reverted patch should be resubmitted with documentation, and with the
CONFIG_MTD_ECC_SOFT selected from every board that needs it.  We could
start by looking at what NAND driver the board selects, and whether
that driver ever asks for soft ECC.
Signed-off-by: Scott Wood <scottwood@freescale.com>
| -rw-r--r-- | drivers/mtd/nand/Makefile | 2 | ||||
| -rw-r--r-- | drivers/mtd/nand/nand_base.c | 4 | ||||
| -rw-r--r-- | include/linux/mtd/nand_ecc.h | 25 | 
3 files changed, 1 insertions, 30 deletions
| diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile index 998fc7349..1d1b62865 100644 --- a/drivers/mtd/nand/Makefile +++ b/drivers/mtd/nand/Makefile @@ -39,7 +39,7 @@ COBJS-y += nand_bbt.o  COBJS-y += nand_ids.o  COBJS-y += nand_util.o  endif -COBJS-$(CONFIG_MTD_ECC_SOFT) += nand_ecc.o +COBJS-y += nand_ecc.o  COBJS-y += nand_base.o  COBJS-$(CONFIG_NAND_ECC_BCH) += nand_bch.o diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c index 12b960fdb..8ab83036f 100644 --- a/drivers/mtd/nand/nand_base.c +++ b/drivers/mtd/nand/nand_base.c @@ -3028,10 +3028,6 @@ int nand_scan_tail(struct mtd_info *mtd)  		chip->ecc.mode = NAND_ECC_SOFT;  	case NAND_ECC_SOFT: -		if (!mtd_nand_has_ecc_soft()) { -			printk(KERN_WARNING "CONFIG_MTD_ECC_SOFT not enabled\n"); -			return -EINVAL; -		}  		chip->ecc.calculate = nand_calculate_ecc;  		chip->ecc.correct = nand_correct_data;  		chip->ecc.read_page = nand_read_page_swecc; diff --git a/include/linux/mtd/nand_ecc.h b/include/linux/mtd/nand_ecc.h index 9715a53d8..090da5054 100644 --- a/include/linux/mtd/nand_ecc.h +++ b/include/linux/mtd/nand_ecc.h @@ -15,10 +15,6 @@  struct mtd_info; -#if defined(CONFIG_MTD_ECC_SOFT) - -static inline int mtd_nand_has_ecc_soft(void) { return 1; } -  /*   * Calculate 3 byte ECC code for 256 byte block   */ @@ -29,25 +25,4 @@ int nand_calculate_ecc(struct mtd_info *mtd, const u_char *dat, u_char *ecc_code   */  int nand_correct_data(struct mtd_info *mtd, u_char *dat, u_char *read_ecc, u_char *calc_ecc); -#else - -static inline int mtd_nand_has_ecc_soft(void) { return 0; } - -static inline int -nand_calculate_ecc(struct mtd_info *mtd, const u_char *dat, u_char *ecc_code) -{ -	return -1; -} - -static inline int -nand_correct_data(struct mtd_info *mtd, -			u_char *dat, -			u_char *read_ecc, -			u_char *calc_ecc) -{ -	return -1; -} - -#endif -  #endif /* __MTD_NAND_ECC_H__ */ |