diff options
Diffstat (limited to 'drivers/mtd/devices/docg3.h')
-rw-r--r-- | drivers/mtd/devices/docg3.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/drivers/mtd/devices/docg3.h b/drivers/mtd/devices/docg3.h index db0da436b493..19fb93f96a3a 100644 --- a/drivers/mtd/devices/docg3.h +++ b/drivers/mtd/devices/docg3.h | |||
@@ -22,6 +22,8 @@ | |||
22 | #ifndef _MTD_DOCG3_H | 22 | #ifndef _MTD_DOCG3_H |
23 | #define _MTD_DOCG3_H | 23 | #define _MTD_DOCG3_H |
24 | 24 | ||
25 | #include <linux/mtd/mtd.h> | ||
26 | |||
25 | /* | 27 | /* |
26 | * Flash memory areas : | 28 | * Flash memory areas : |
27 | * - 0x0000 .. 0x07ff : IPL | 29 | * - 0x0000 .. 0x07ff : IPL |
@@ -267,9 +269,23 @@ | |||
267 | #define DOC_LAYOUT_DPS_KEY_LENGTH 8 | 269 | #define DOC_LAYOUT_DPS_KEY_LENGTH 8 |
268 | 270 | ||
269 | /** | 271 | /** |
272 | * struct docg3_cascade - Cascade of 1 to 4 docg3 chips | ||
273 | * @floors: floors (ie. one physical docg3 chip is one floor) | ||
274 | * @base: IO space to access all chips in the cascade | ||
275 | * @bch: the BCH correcting control structure | ||
276 | * @lock: lock to protect docg3 IO space from concurrent accesses | ||
277 | */ | ||
278 | struct docg3_cascade { | ||
279 | struct mtd_info *floors[DOC_MAX_NBFLOORS]; | ||
280 | void __iomem *base; | ||
281 | struct bch_control *bch; | ||
282 | struct mutex lock; | ||
283 | }; | ||
284 | |||
285 | /** | ||
270 | * struct docg3 - DiskOnChip driver private data | 286 | * struct docg3 - DiskOnChip driver private data |
271 | * @dev: the device currently under control | 287 | * @dev: the device currently under control |
272 | * @base: mapped IO space | 288 | * @cascade: the cascade this device belongs to |
273 | * @device_id: number of the cascaded DoCG3 device (0, 1, 2 or 3) | 289 | * @device_id: number of the cascaded DoCG3 device (0, 1, 2 or 3) |
274 | * @if_cfg: if true, reads are on 16bits, else reads are on 8bits | 290 | * @if_cfg: if true, reads are on 16bits, else reads are on 8bits |
275 | 291 | ||
@@ -287,7 +303,7 @@ | |||
287 | */ | 303 | */ |
288 | struct docg3 { | 304 | struct docg3 { |
289 | struct device *dev; | 305 | struct device *dev; |
290 | void __iomem *base; | 306 | struct docg3_cascade *cascade; |
291 | unsigned int device_id:4; | 307 | unsigned int device_id:4; |
292 | unsigned int if_cfg:1; | 308 | unsigned int if_cfg:1; |
293 | unsigned int reliable:2; | 309 | unsigned int reliable:2; |