diff options
Diffstat (limited to 'include/linux/mtd')
-rw-r--r-- | include/linux/mtd/cfi.h | 13 | ||||
-rw-r--r-- | include/linux/mtd/mtd.h | 14 |
2 files changed, 23 insertions, 4 deletions
diff --git a/include/linux/mtd/cfi.h b/include/linux/mtd/cfi.h index e6b6a1c66bd5..360cf626c288 100644 --- a/include/linux/mtd/cfi.h +++ b/include/linux/mtd/cfi.h | |||
@@ -1,7 +1,7 @@ | |||
1 | 1 | ||
2 | /* Common Flash Interface structures | 2 | /* Common Flash Interface structures |
3 | * See http://support.intel.com/design/flash/technote/index.htm | 3 | * See http://support.intel.com/design/flash/technote/index.htm |
4 | * $Id: cfi.h,v 1.54 2005/06/06 23:04:36 tpoynor Exp $ | 4 | * $Id: cfi.h,v 1.55 2005/08/06 04:40:42 nico Exp $ |
5 | */ | 5 | */ |
6 | 6 | ||
7 | #ifndef __MTD_CFI_H__ | 7 | #ifndef __MTD_CFI_H__ |
@@ -173,6 +173,15 @@ struct cfi_intelext_regioninfo { | |||
173 | struct cfi_intelext_blockinfo BlockTypes[1]; | 173 | struct cfi_intelext_blockinfo BlockTypes[1]; |
174 | } __attribute__((packed)); | 174 | } __attribute__((packed)); |
175 | 175 | ||
176 | struct cfi_intelext_programming_regioninfo { | ||
177 | uint8_t ProgRegShift; | ||
178 | uint8_t Reserved1; | ||
179 | uint8_t ControlValid; | ||
180 | uint8_t Reserved2; | ||
181 | uint8_t ControlInvalid; | ||
182 | uint8_t Reserved3; | ||
183 | } __attribute__((packed)); | ||
184 | |||
176 | /* Vendor-Specific PRI for AMD/Fujitsu Extended Command Set (0x0002) */ | 185 | /* Vendor-Specific PRI for AMD/Fujitsu Extended Command Set (0x0002) */ |
177 | 186 | ||
178 | struct cfi_pri_amdstd { | 187 | struct cfi_pri_amdstd { |
@@ -316,7 +325,7 @@ static inline map_word cfi_build_cmd(u_long cmd, struct map_info *map, struct cf | |||
316 | #define CMD(x) cfi_build_cmd((x), map, cfi) | 325 | #define CMD(x) cfi_build_cmd((x), map, cfi) |
317 | 326 | ||
318 | 327 | ||
319 | static inline unsigned char cfi_merge_status(map_word val, struct map_info *map, | 328 | static inline unsigned long cfi_merge_status(map_word val, struct map_info *map, |
320 | struct cfi_private *cfi) | 329 | struct cfi_private *cfi) |
321 | { | 330 | { |
322 | int wordwidth, words_per_bus, chip_mode, chips_per_word; | 331 | int wordwidth, words_per_bus, chip_mode, chips_per_word; |
diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h index c50c3f3927d9..ab5804183916 100644 --- a/include/linux/mtd/mtd.h +++ b/include/linux/mtd/mtd.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * $Id: mtd.h,v 1.59 2005/04/11 10:19:02 gleixner Exp $ | 2 | * $Id: mtd.h,v 1.60 2005/08/06 04:40:42 nico Exp $ |
3 | * | 3 | * |
4 | * Copyright (C) 1999-2003 David Woodhouse <dwmw2@infradead.org> et al. | 4 | * Copyright (C) 1999-2003 David Woodhouse <dwmw2@infradead.org> et al. |
5 | * | 5 | * |
@@ -72,7 +72,17 @@ struct mtd_info { | |||
72 | u_int32_t oobsize; // Amount of OOB data per block (e.g. 16) | 72 | u_int32_t oobsize; // Amount of OOB data per block (e.g. 16) |
73 | u_int32_t ecctype; | 73 | u_int32_t ecctype; |
74 | u_int32_t eccsize; | 74 | u_int32_t eccsize; |
75 | 75 | ||
76 | /* | ||
77 | * Reuse some of the above unused fields in the case of NOR flash | ||
78 | * with configurable programming regions to avoid modifying the | ||
79 | * user visible structure layout/size. Only valid when the | ||
80 | * MTD_PROGRAM_REGIONS flag is set. | ||
81 | * (Maybe we should have an union for those?) | ||
82 | */ | ||
83 | #define MTD_PROGREGION_SIZE(mtd) (mtd)->oobblock | ||
84 | #define MTD_PROGREGION_CTRLMODE_VALID(mtd) (mtd)->oobsize | ||
85 | #define MTD_PROGREGION_CTRLMODE_INVALID(mtd) (mtd)->ecctype | ||
76 | 86 | ||
77 | // Kernel-only stuff starts here. | 87 | // Kernel-only stuff starts here. |
78 | char *name; | 88 | char *name; |