diff options
| author | Alessandro Rubini <rubini@unipv.it> | 2009-09-20 17:28:14 -0400 |
|---|---|---|
| committer | David Woodhouse <David.Woodhouse@intel.com> | 2009-09-24 15:55:07 -0400 |
| commit | 30631cb82d5c6c662d5ec682beaa834c1f9f0987 (patch) | |
| tree | 9c329ebf759cdbc4be4cc488ae448bbb6ef73c11 /include/linux/mtd | |
| parent | c62d81bcfe82526cc3da10cf4fc63faad368bc60 (diff) | |
mtd: unify status enum from three headers
nand.h, onenand.h and flashchip.h defined enumeration types
for chip status using the same symbolic names. This prevented
a board file to include more than one of them. In particular,
no nand and onenand platform devices could live in the same file.
This patch augments flashchip.h with a few status values in order
to cover all cases, so nand.h and onenand.h can use flstate_t
without declaring their own status enum.
Signed-off-by: Alessandro Rubini <rubini@unipv.it>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'include/linux/mtd')
| -rw-r--r-- | include/linux/mtd/flashchip.h | 7 | ||||
| -rw-r--r-- | include/linux/mtd/nand.h | 17 | ||||
| -rw-r--r-- | include/linux/mtd/onenand.h | 19 |
3 files changed, 11 insertions, 32 deletions
diff --git a/include/linux/mtd/flashchip.h b/include/linux/mtd/flashchip.h index d4f38c5fd44e..f350a4879f75 100644 --- a/include/linux/mtd/flashchip.h +++ b/include/linux/mtd/flashchip.h | |||
| @@ -38,6 +38,13 @@ typedef enum { | |||
| 38 | FL_XIP_WHILE_ERASING, | 38 | FL_XIP_WHILE_ERASING, |
| 39 | FL_XIP_WHILE_WRITING, | 39 | FL_XIP_WHILE_WRITING, |
| 40 | FL_SHUTDOWN, | 40 | FL_SHUTDOWN, |
| 41 | /* These 2 come from nand_state_t, which has been unified here */ | ||
| 42 | FL_READING, | ||
| 43 | FL_CACHEDPRG, | ||
| 44 | /* These 2 come from onenand_state_t, which has been unified here */ | ||
| 45 | FL_RESETING, | ||
| 46 | FL_OTPING, | ||
| 47 | |||
| 41 | FL_UNKNOWN | 48 | FL_UNKNOWN |
| 42 | } flstate_t; | 49 | } flstate_t; |
| 43 | 50 | ||
diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h index d87ada538d17..2476078a032f 100644 --- a/include/linux/mtd/nand.h +++ b/include/linux/mtd/nand.h | |||
| @@ -21,6 +21,7 @@ | |||
| 21 | #include <linux/wait.h> | 21 | #include <linux/wait.h> |
| 22 | #include <linux/spinlock.h> | 22 | #include <linux/spinlock.h> |
| 23 | #include <linux/mtd/mtd.h> | 23 | #include <linux/mtd/mtd.h> |
| 24 | #include <linux/mtd/flashchip.h> | ||
| 24 | #include <linux/mtd/bbm.h> | 25 | #include <linux/mtd/bbm.h> |
| 25 | 26 | ||
| 26 | struct mtd_info; | 27 | struct mtd_info; |
| @@ -203,20 +204,6 @@ typedef enum { | |||
| 203 | #define NAND_CI_CHIPNR_MSK 0x03 | 204 | #define NAND_CI_CHIPNR_MSK 0x03 |
| 204 | #define NAND_CI_CELLTYPE_MSK 0x0C | 205 | #define NAND_CI_CELLTYPE_MSK 0x0C |
| 205 | 206 | ||
| 206 | /* | ||
| 207 | * nand_state_t - chip states | ||
| 208 | * Enumeration for NAND flash chip state | ||
| 209 | */ | ||
| 210 | typedef enum { | ||
| 211 | FL_READY, | ||
| 212 | FL_READING, | ||
| 213 | FL_WRITING, | ||
| 214 | FL_ERASING, | ||
| 215 | FL_SYNCING, | ||
| 216 | FL_CACHEDPRG, | ||
| 217 | FL_PM_SUSPENDED, | ||
| 218 | } nand_state_t; | ||
| 219 | |||
| 220 | /* Keep gcc happy */ | 207 | /* Keep gcc happy */ |
| 221 | struct nand_chip; | 208 | struct nand_chip; |
| 222 | 209 | ||
| @@ -403,7 +390,7 @@ struct nand_chip { | |||
| 403 | uint8_t cellinfo; | 390 | uint8_t cellinfo; |
| 404 | int badblockpos; | 391 | int badblockpos; |
| 405 | 392 | ||
| 406 | nand_state_t state; | 393 | flstate_t state; |
| 407 | 394 | ||
| 408 | uint8_t *oob_poi; | 395 | uint8_t *oob_poi; |
| 409 | struct nand_hw_control *controller; | 396 | struct nand_hw_control *controller; |
diff --git a/include/linux/mtd/onenand.h b/include/linux/mtd/onenand.h index 4e49f3350678..f57e29e17bb0 100644 --- a/include/linux/mtd/onenand.h +++ b/include/linux/mtd/onenand.h | |||
| @@ -14,6 +14,7 @@ | |||
| 14 | 14 | ||
| 15 | #include <linux/spinlock.h> | 15 | #include <linux/spinlock.h> |
| 16 | #include <linux/completion.h> | 16 | #include <linux/completion.h> |
| 17 | #include <linux/mtd/flashchip.h> | ||
| 17 | #include <linux/mtd/onenand_regs.h> | 18 | #include <linux/mtd/onenand_regs.h> |
| 18 | #include <linux/mtd/bbm.h> | 19 | #include <linux/mtd/bbm.h> |
| 19 | 20 | ||
| @@ -25,22 +26,6 @@ extern int onenand_scan(struct mtd_info *mtd, int max_chips); | |||
| 25 | /* Free resources held by the OneNAND device */ | 26 | /* Free resources held by the OneNAND device */ |
| 26 | extern void onenand_release(struct mtd_info *mtd); | 27 | extern void onenand_release(struct mtd_info *mtd); |
| 27 | 28 | ||
| 28 | /* | ||
| 29 | * onenand_state_t - chip states | ||
| 30 | * Enumeration for OneNAND flash chip state | ||
| 31 | */ | ||
| 32 | typedef enum { | ||
| 33 | FL_READY, | ||
| 34 | FL_READING, | ||
| 35 | FL_WRITING, | ||
| 36 | FL_ERASING, | ||
| 37 | FL_SYNCING, | ||
| 38 | FL_LOCKING, | ||
| 39 | FL_RESETING, | ||
| 40 | FL_OTPING, | ||
| 41 | FL_PM_SUSPENDED, | ||
| 42 | } onenand_state_t; | ||
| 43 | |||
| 44 | /** | 29 | /** |
| 45 | * struct onenand_bufferram - OneNAND BufferRAM Data | 30 | * struct onenand_bufferram - OneNAND BufferRAM Data |
| 46 | * @blockpage: block & page address in BufferRAM | 31 | * @blockpage: block & page address in BufferRAM |
| @@ -137,7 +122,7 @@ struct onenand_chip { | |||
| 137 | 122 | ||
| 138 | spinlock_t chip_lock; | 123 | spinlock_t chip_lock; |
| 139 | wait_queue_head_t wq; | 124 | wait_queue_head_t wq; |
| 140 | onenand_state_t state; | 125 | flstate_t state; |
| 141 | unsigned char *page_buf; | 126 | unsigned char *page_buf; |
| 142 | unsigned char *oob_buf; | 127 | unsigned char *oob_buf; |
| 143 | 128 | ||
