[PATCH 1/5] mtd api changed to return bitflips on read operations
Mike Dunn
mikedunn at newsguy.com
Mon Nov 28 20:01:17 EST 2011
Proposed mtd api change.
Signed-off-by: Mike Dunn <mikedunn at newsguy.com>
---
include/linux/mtd/mtd.h | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h
index 9f5b312..67f4bbc 100644
--- a/include/linux/mtd/mtd.h
+++ b/include/linux/mtd/mtd.h
@@ -81,6 +81,9 @@ struct mtd_erase_region_info {
* mode = MTD_OPS_PLACE_OOB or MTD_OPS_RAW)
* @datbuf: data buffer - if NULL only oob data are read/written
* @oobbuf: oob data buffer
+ * @max_bitflips: for read operations, greatest number of bit errors corrected
+ * on any one minimum i/o unit (e.g., nand page)
+ * (value returned to caller by the driver)
*
* Note, it is allowed to read more than one OOB area at one go, but not write.
* The interface assumes that the OOB write requests program only one page's
@@ -95,6 +98,7 @@ struct mtd_oob_ops {
uint32_t ooboffs;
uint8_t *datbuf;
uint8_t *oobbuf;
+ unsigned int max_bitflips;
};
#define MTD_MAX_OOBFREE_ENTRIES_LARGE 32
@@ -201,8 +205,13 @@ struct mtd_info {
*/
struct backing_dev_info *backing_dev_info;
+ /*
+ * max_bitflips returns to caller the greatest number of bit errors
+ * corrected on any one minimum i/o unit (e.g., nand page)
+ */
+ int (*read) (struct mtd_info *mtd, loff_t from, size_t len,
+ size_t *retlen, u_char *buf, unsigned int *max_bitflips);
- int (*read) (struct mtd_info *mtd, loff_t from, size_t len, size_t *retlen, u_char *buf);
int (*write) (struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen, const u_char *buf);
/* In blackbox flight recorder like scenarios we want to make successful
--
1.7.3.4
More information about the linux-mtd
mailing list