mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.1 KiB
42 lines
1.1 KiB
/* |
|
* drivers/mtd/nand_ecc.h |
|
* |
|
* Copyright (C) 2000-2010 Steven J. Hill <[email protected]> |
|
* David Woodhouse <[email protected]> |
|
* Thomas Gleixner <[email protected]> |
|
* |
|
* 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 eccsize byte block |
|
*/ |
|
void __nand_calculate_ecc(const u_char *dat, unsigned int eccsize, |
|
u_char *ecc_code); |
|
|
|
/* |
|
* Calculate 3 byte ECC code for 256/512 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 eccsize byte block |
|
*/ |
|
int __nand_correct_data(u_char *dat, u_char *read_ecc, u_char *calc_ecc, |
|
unsigned int eccsize); |
|
|
|
/* |
|
* Detect and correct a 1 bit error for 256/512 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__ */
|
|
|