mtd: add ecc_strength fields to mtd structs
authorMike Dunn <mikedunn@newsguy.com>
Sun, 11 Mar 2012 21:21:10 +0000 (14:21 -0700)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Mon, 26 Mar 2012 23:56:36 +0000 (00:56 +0100)
This adds 'ecc_strength' to struct mtd_info.  This stores the maximum number of
bit errors that can be corrected in one writesize region.

For consistency with the nand code, 'strength' is similiarly added to struct
nand_ecc_ctrl.  This stores the maximum number of bit errors that can be
corrected in one ecc step.

Signed-off-by: Mike Dunn <mikedunn@newsguy.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
include/linux/mtd/mtd.h
include/linux/mtd/nand.h

index 726c2d1b258947a077607154796271384b02dbb7..cf5ea8cdcf8e3a9a325da9a6f28f6fb120ea1319 100644 (file)
@@ -164,6 +164,9 @@ struct mtd_info {
        /* ECC layout structure pointer - read only! */
        struct nand_ecclayout *ecclayout;
 
+       /* max number of correctible bit errors per writesize */
+       unsigned int ecc_strength;
+
        /* Data for variable erase regions. If numeraseregions is zero,
         * it means that the whole device has erasesize as given above.
         */
index 609868f3db420e0a5a7b178a8668f8e74d08ed2c..1482340d3d9f5e0a6ba5d61a020b112320618362 100644 (file)
@@ -324,6 +324,7 @@ struct nand_hw_control {
  * @steps:     number of ECC steps per page
  * @size:      data bytes per ECC step
  * @bytes:     ECC bytes per step
+ * @strength:  max number of correctible bits per ECC step
  * @total:     total number of ECC bytes per page
  * @prepad:    padding information for syndrome based ECC generators
  * @postpad:   padding information for syndrome based ECC generators
@@ -351,6 +352,7 @@ struct nand_ecc_ctrl {
        int size;
        int bytes;
        int total;
+       int strength;
        int prepad;
        int postpad;
        struct nand_ecclayout   *layout;