From: Huang Shijie Date: Fri, 15 Mar 2013 03:00:59 +0000 (+0800) Subject: mtd: add new fields to nand_flash_dev{} X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=f22d5f638b0ea40e7cceb4639a608bd2c3eff97c;p=linux-beck.git mtd: add new fields to nand_flash_dev{} As time goes on, we begin to meet the situation that we can not get enough information from some nand chips's id data. Take some Toshiba's nand chips for example. I have 4 Toshiba's nand chips in my hand: TC58NVG2S0F, TC58NVG3S0F, TC58NVG5D2, TC58NVG6D2 When we read these chips' datasheets, we will get the geometry of these chips: TC58NVG2S0F : 4096 + 224 TC58NVG3S0F : 4096 + 232 TC58NVG5D2 : 8192 + 640 TC58NVG6D2 : 8192 + 640 But we can not parse out the correct oob size for these chips from the id data. This patch adds some new fields to the nand_flash_dev{}: @id_len: the valid length of the id data. See the comments in nand_id_has_period() @oobsize: the oob size. Signed-off-by: Huang Shijie Reviewed-by: Brian Norris Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse --- diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h index 0f78d19303c5..13786f0ae12a 100644 --- a/include/linux/mtd/nand.h +++ b/include/linux/mtd/nand.h @@ -588,6 +588,8 @@ struct nand_chip { * @chipsize: total chip size in MiB * @erasesize: eraseblock size in bytes (determined from the extended ID if 0) * @options: stores various chip bit options + * @id_len: The valid length of the @id. + * @oobsize: OOB size */ struct nand_flash_dev { char *name; @@ -602,6 +604,8 @@ struct nand_flash_dev { unsigned int chipsize; unsigned int erasesize; unsigned int options; + uint16_t id_len; + uint16_t oobsize; }; /**