diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h
index b8ad634391db0fed5f08a26ab639fadf244f29a2..41a984dcb1397b80277895f33d7d2d2c137cac05 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;