summaryrefslogtreecommitdiffstats
path: root/include/linux/mtd/nand_ecc.h
diff options
context:
space:
mode:
authorWolfgang Denk <wd@pollux.denx.de>2005-08-17 12:55:25 +0200
committerWolfgang Denk <wd@pollux.denx.de>2005-08-17 12:55:25 +0200
commit932394ac43e2e778e664eeb6e456fecd0fae6e59 (patch)
tree170e594a6818d35081c9184f5b7dc06eaf0497af /include/linux/mtd/nand_ecc.h
parent024447b186cca55c2d803ab96b4c8f8674363b86 (diff)
downloadbarebox-932394ac43e2e778e664eeb6e456fecd0fae6e59.tar.gz
barebox-932394ac43e2e778e664eeb6e456fecd0fae6e59.tar.xz
Rewrite of NAND code based on what is in 2.6.12 Linux kernel
Patch by Ladislav Michl, 29 Jun 2005
Diffstat (limited to 'include/linux/mtd/nand_ecc.h')
-rw-r--r--include/linux/mtd/nand_ecc.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/include/linux/mtd/nand_ecc.h b/include/linux/mtd/nand_ecc.h
new file mode 100644
index 0000000000..12c5bc342e
--- /dev/null
+++ b/include/linux/mtd/nand_ecc.h
@@ -0,0 +1,30 @@
+/*
+ * drivers/mtd/nand_ecc.h
+ *
+ * Copyright (C) 2000 Steven J. Hill (sjhill@realitydiluted.com)
+ *
+ * $Id: nand_ecc.h,v 1.4 2004/06/17 02:35:02 dbrown Exp $
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This file is the header for the ECC algorithm.
+ */
+
+#ifndef __MTD_NAND_ECC_H__
+#define __MTD_NAND_ECC_H__
+
+struct mtd_info;
+
+/*
+ * Calculate 3 byte ECC code for 256 byte block
+ */
+int nand_calculate_ecc(struct mtd_info *mtd, const u_char *dat, u_char *ecc_code);
+
+/*
+ * Detect and correct a 1 bit error for 256 byte block
+ */
+int nand_correct_data(struct mtd_info *mtd, u_char *dat, u_char *read_ecc, u_char *calc_ecc);
+
+#endif /* __MTD_NAND_ECC_H__ */