mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-30 18:05:48 +01:00 
			
		
		
		
	Revert "nand: make 1-bit software ECC configurable"
This reverts commit 4fee6c2f29.
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>
			
			
This commit is contained in:
		| @@ -39,7 +39,7 @@ COBJS-y += nand_bbt.o | |||||||
| COBJS-y += nand_ids.o | COBJS-y += nand_ids.o | ||||||
| COBJS-y += nand_util.o | COBJS-y += nand_util.o | ||||||
| endif | endif | ||||||
| COBJS-$(CONFIG_MTD_ECC_SOFT) += nand_ecc.o | COBJS-y += nand_ecc.o | ||||||
| COBJS-y += nand_base.o | COBJS-y += nand_base.o | ||||||
| COBJS-$(CONFIG_NAND_ECC_BCH) += nand_bch.o | COBJS-$(CONFIG_NAND_ECC_BCH) += nand_bch.o | ||||||
|  |  | ||||||
|   | |||||||
| @@ -3028,10 +3028,6 @@ int nand_scan_tail(struct mtd_info *mtd) | |||||||
| 		chip->ecc.mode = NAND_ECC_SOFT; | 		chip->ecc.mode = NAND_ECC_SOFT; | ||||||
|  |  | ||||||
| 	case 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.calculate = nand_calculate_ecc; | ||||||
| 		chip->ecc.correct = nand_correct_data; | 		chip->ecc.correct = nand_correct_data; | ||||||
| 		chip->ecc.read_page = nand_read_page_swecc; | 		chip->ecc.read_page = nand_read_page_swecc; | ||||||
|   | |||||||
| @@ -15,10 +15,6 @@ | |||||||
|  |  | ||||||
| struct mtd_info; | 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 |  * 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); | 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__ */ | #endif /* __MTD_NAND_ECC_H__ */ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user