summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner2006-05-25 09:57:31 +0200
committerDavid Woodhouse2006-05-25 13:45:27 +0200
commit7fac464868ec5d80019fa549b8b4516dd1dc9d5c (patch)
tree0b8003852a430e91c31481bf6bb8cec66993199b
parent[MTD] NAND Cleanup oob functions (diff)
downloadkernel-qcow2-linux-7fac464868ec5d80019fa549b8b4516dd1dc9d5c.tar.gz
kernel-qcow2-linux-7fac464868ec5d80019fa549b8b4516dd1dc9d5c.tar.xz
kernel-qcow2-linux-7fac464868ec5d80019fa549b8b4516dd1dc9d5c.zip
[MTD] Add ECC statistics to struct mtd_info
FLASH - especially NAND FLASH - will become less reliable and bit flips more likely. Add an ECC statistics struct to struct mtd_info to keep track of this. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--include/linux/mtd/mtd.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h
index b8ad634391db..41a984dcb139 100644
--- a/include/linux/mtd/mtd.h
+++ b/include/linux/mtd/mtd.h
@@ -56,6 +56,17 @@ struct mtd_erase_region_info {
u_int32_t numblocks; /* Number of blocks of erasesize in this region */
};
+/**
+ * struct mtd_ecc_stats - error correction status
+ *
+ * @corrected: number of corrected bits
+ * @failed: number of uncorrectable errors
+ */
+struct mtd_ecc_stats {
+ unsigned long corrected;
+ unsigned long failed;
+};
+
struct mtd_info {
u_char type;
u_int32_t flags;
@@ -153,6 +164,9 @@ struct mtd_info {
struct notifier_block reboot_notifier; /* default mode before reboot */
+ /* ECC status information */
+ struct mtd_ecc_stats ecc_stats;
+
void *priv;
struct module *owner;