[MTD] Add OTP basisc
authorNicolas Pitre <nico@cam.org>
Sat, 5 Feb 2005 02:06:19 +0000 (02:06 +0000)
committerThomas Gleixner <tglx@mtd.linutronix.de>
Mon, 23 May 2005 10:22:37 +0000 (12:22 +0200)
add structure definition for OTP region info

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
drivers/mtd/chips/cfi_cmdset_0001.c
include/linux/mtd/cfi.h

index c268bcd7172025a5312960f338903085086cc366..c630d7532f7a8d478fe9b2b3b784558eeebcf723 100644 (file)
@@ -4,7 +4,7 @@
  *
  * (C) 2000 Red Hat. GPL'd
  *
- * $Id: cfi_cmdset_0001.c,v 1.164 2004/11/16 18:29:00 dwmw2 Exp $
+ * $Id: cfi_cmdset_0001.c,v 1.165 2005/02/05 02:06:15 nico Exp $
  *
  * 
  * 10/10/2000  Nicolas Pitre <nico@cam.org>
@@ -252,7 +252,8 @@ read_pri_intelext(struct map_info *map, __u16 adr)
                int nb_parts, i;
 
                /* Protection Register info */
-               extra_size += (extp->NumProtectionFields - 1) * (4 + 6);
+               extra_size += (extp->NumProtectionFields - 1) *
+                             sizeof(struct cfi_intelext_otpinfo);
 
                /* Burst Read info */
                extra_size += 6;
@@ -471,7 +472,8 @@ static int cfi_intelext_partition_fixup(struct mtd_info *mtd,
                int offs, numregions, numparts, partshift, numvirtchips, i, j;
 
                /* Protection Register info */
-               offs = (extp->NumProtectionFields - 1) * (4 + 6);
+               offs = (extp->NumProtectionFields - 1) *
+                      sizeof(struct cfi_intelext_otpinfo);
 
                /* Burst Read info */
                offs += 6;
index 2ed8c585021e2f28413f536b417883c2f50fd51a..d87dc3fbd4baf5017150a8b6234ff38cf0dfee1a 100644 (file)
@@ -1,7 +1,7 @@
 
 /* Common Flash Interface structures 
  * See http://support.intel.com/design/flash/technote/index.htm
- * $Id: cfi.h,v 1.50 2004/11/20 12:46:51 dwmw2 Exp $
+ * $Id: cfi.h,v 1.51 2005/02/05 02:06:16 nico Exp $
  */
 
 #ifndef __MTD_CFI_H__
@@ -148,6 +148,14 @@ struct cfi_pri_intelext {
        uint8_t  extra[0];
 } __attribute__((packed));
 
+struct cfi_intelext_otpinfo {
+       uint32_t ProtRegAddr;
+       uint16_t FactGroups;
+       uint8_t  FactProtRegSize;
+       uint16_t UserGroups;
+       uint8_t  UserProtRegSize;
+} __attribute__((packed));
+
 struct cfi_intelext_blockinfo {
        uint16_t NumIdentBlocks;
        uint16_t BlockSize;