mtd: add new fields to nand_flash_dev{}
Linux-MTD Mailing List
linux-mtd at lists.infradead.org
Fri Apr 5 08:59:13 EDT 2013
Gitweb: http://git.infradead.org/?p=mtd-2.6.git;a=commit;h=f22d5f638b0ea40e7cceb4639a608bd2c3eff97c
Commit: f22d5f638b0ea40e7cceb4639a608bd2c3eff97c
Parent: bd247acb77b7a3dcb1075d7c9f09bc46bd242f3b
Author: Huang Shijie <b32955 at freescale.com>
AuthorDate: Fri Mar 15 11:00:59 2013 +0800
Committer: David Woodhouse <David.Woodhouse at intel.com>
CommitDate: Fri Apr 5 13:20:29 2013 +0100
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 at freescale.com>
Reviewed-by: Brian Norris <computersforpeace at gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy at linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>
---
include/linux/mtd/nand.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h
index 0f78d19..13786f0 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;
};
/**
More information about the linux-mtd-cvs
mailing list