aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mtd
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@cruncher.tec.linutronix.de>2006-05-25 03:57:31 -0400
committerDavid Woodhouse <dwmw2@infradead.org>2006-05-25 07:45:27 -0400
commit7fac464868ec5d80019fa549b8b4516dd1dc9d5c (patch)
tree0b8003852a430e91c31481bf6bb8cec66993199b /include/linux/mtd
parent7314e9e7d57293c58b3e10a25a8a1d9328444187 (diff)
[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>
Diffstat (limited to 'include/linux/mtd')
-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 b8ad634391d..41a984dcb13 100644
--- a/include/linux/mtd/mtd.h
+++ b/include/linux/mtd/mtd.h
@@ -56,6 +56,17 @@ struct mtd_erase_region_info {
56 u_int32_t numblocks; /* Number of blocks of erasesize in this region */ 56 u_int32_t numblocks; /* Number of blocks of erasesize in this region */
57}; 57};
58 58
59/**
60 * struct mtd_ecc_stats - error correction status
61 *
62 * @corrected: number of corrected bits
63 * @failed: number of uncorrectable errors
64 */
65struct mtd_ecc_stats {
66 unsigned long corrected;
67 unsigned long failed;
68};
69
59struct mtd_info { 70struct mtd_info {
60 u_char type; 71 u_char type;
61 u_int32_t flags; 72 u_int32_t flags;
@@ -153,6 +164,9 @@ struct mtd_info {
153 164
154 struct notifier_block reboot_notifier; /* default mode before reboot */ 165 struct notifier_block reboot_notifier; /* default mode before reboot */
155 166
167 /* ECC status information */
168 struct mtd_ecc_stats ecc_stats;
169
156 void *priv; 170 void *priv;
157 171
158 struct module *owner; 172 struct module *owner;