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