Home | History | Annotate | Download | only in mtd
      1 /* SPDX-License-Identifier: GPL-2.0 */
      2 /*
      3  *  drivers/mtd/nand_ecc.h
      4  *
      5  *  Copyright (C) 2000-2010 Steven J. Hill <sjhill (at) realitydiluted.com>
      6  *			    David Woodhouse <dwmw2 (at) infradead.org>
      7  *			    Thomas Gleixner <tglx (at) linutronix.de>
      8  *
      9  * This file is the header for the ECC algorithm.
     10  */
     11 
     12 #ifndef __MTD_NAND_ECC_H__
     13 #define __MTD_NAND_ECC_H__
     14 
     15 struct mtd_info;
     16 
     17 /*
     18  * Calculate 3 byte ECC code for 256 byte block
     19  */
     20 int nand_calculate_ecc(struct mtd_info *mtd, const u_char *dat, u_char *ecc_code);
     21 
     22 /*
     23  * Detect and correct a 1 bit error for 256 byte block
     24  */
     25 int nand_correct_data(struct mtd_info *mtd, u_char *dat, u_char *read_ecc, u_char *calc_ecc);
     26 
     27 #endif /* __MTD_NAND_ECC_H__ */
     28