mirror of https://gitee.com/openkylin/linux.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 <b32955@freescale.com> Reviewed-by: Brian Norris <computersforpeace@gmail.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
This commit is contained in:
parent
bd247acb77
commit
f22d5f638b
|
@ -588,6 +588,8 @@ struct nand_chip {
|
||||||
* @chipsize: total chip size in MiB
|
* @chipsize: total chip size in MiB
|
||||||
* @erasesize: eraseblock size in bytes (determined from the extended ID if 0)
|
* @erasesize: eraseblock size in bytes (determined from the extended ID if 0)
|
||||||
* @options: stores various chip bit options
|
* @options: stores various chip bit options
|
||||||
|
* @id_len: The valid length of the @id.
|
||||||
|
* @oobsize: OOB size
|
||||||
*/
|
*/
|
||||||
struct nand_flash_dev {
|
struct nand_flash_dev {
|
||||||
char *name;
|
char *name;
|
||||||
|
@ -602,6 +604,8 @@ struct nand_flash_dev {
|
||||||
unsigned int chipsize;
|
unsigned int chipsize;
|
||||||
unsigned int erasesize;
|
unsigned int erasesize;
|
||||||
unsigned int options;
|
unsigned int options;
|
||||||
|
uint16_t id_len;
|
||||||
|
uint16_t oobsize;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue