summaryrefslogtreecommitdiff
path: root/include/linux/mtd/nand_ecc.h
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2012-02-11 22:14:56 +0100
committerWolfgang Denk <wd@denx.de>2012-02-11 22:14:56 +0100
commitf57a94c2b566a647003c7885a450ba0f28dbff34 (patch)
tree4ed0e63aaaad760e9494c1cb83e405e2ac7c07ed /include/linux/mtd/nand_ecc.h
parent6e4c1da86e77576476b566977305ddd82f9e6b8c (diff)
parent0990dc61787ec03b0ae7579a51e5eb661112f13f (diff)
downloadolio-uboot-2014.01-f57a94c2b566a647003c7885a450ba0f28dbff34.tar.xz
olio-uboot-2014.01-f57a94c2b566a647003c7885a450ba0f28dbff34.zip
Merge branch 'master' of /home/wd/git/u-boot/custodians
* 'master' of /home/wd/git/u-boot/custodians: nand/fsl_elbc: Convert to self-init nand: Introduce CONFIG_SYS_NAND_SELF_INIT nand_spl: store ecc data on the stack mtd/nand: Add ONFI support for FSL NAND controller nand: make 1-bit software ECC configurable nand: Sanitize ONFI strings. nand: Merge changes to BBT from Linux nand driver nand: Merge changes from Linux nand driver nand: cleanup whitespace nand: Add more NAND types from Linux nand driver nand: Merge BCH code from Linux nand driver NAND: Remove additional (CONFIG_SYS)_NAND_MAX_CHIPS NAND: remove NAND_MAX_CHIPS definitions nand_spl_simple: store ecc data on the stack
Diffstat (limited to 'include/linux/mtd/nand_ecc.h')
-rw-r--r--include/linux/mtd/nand_ecc.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/include/linux/mtd/nand_ecc.h b/include/linux/mtd/nand_ecc.h
index 090da5054..9715a53d8 100644
--- a/include/linux/mtd/nand_ecc.h
+++ b/include/linux/mtd/nand_ecc.h
@@ -15,6 +15,10 @@
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
*/
@@ -25,4 +29,25 @@ 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__ */