diff options
Diffstat (limited to 'include/linux/mtd/onenand.h')
-rw-r--r-- | include/linux/mtd/onenand.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/mtd/onenand.h b/include/linux/mtd/onenand.h index c557caa24a6c..89aaffbc9576 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/mtd/onenand_regs.h> | 16 | #include <linux/mtd/onenand_regs.h> |
17 | #include <linux/mtd/bbm.h> | ||
17 | 18 | ||
18 | #define MAX_BUFFERRAM 2 | 19 | #define MAX_BUFFERRAM 2 |
19 | 20 | ||
@@ -67,10 +68,14 @@ struct onenand_bufferram { | |||
67 | * @param wait [REPLACEABLE] hardware specific function for wait on ready | 68 | * @param wait [REPLACEABLE] hardware specific function for wait on ready |
68 | * @param read_bufferram [REPLACEABLE] hardware specific function for BufferRAM Area | 69 | * @param read_bufferram [REPLACEABLE] hardware specific function for BufferRAM Area |
69 | * @param write_bufferram [REPLACEABLE] hardware specific function for BufferRAM Area | 70 | * @param write_bufferram [REPLACEABLE] hardware specific function for BufferRAM Area |
71 | * @param read_word [REPLACEABLE] hardware specific function for read register of OneNAND | ||
72 | * @param write_word [REPLACEABLE] hardware specific function for write register of OneNAND | ||
73 | * @param scan_bbt [REPLACEALBE] hardware specific function for scaning Bad block Table | ||
70 | * @param chip_lock [INTERN] spinlock used to protect access to this structure and the chip | 74 | * @param chip_lock [INTERN] spinlock used to protect access to this structure and the chip |
71 | * @param wq [INTERN] wait queue to sleep on if a OneNAND operation is in progress | 75 | * @param wq [INTERN] wait queue to sleep on if a OneNAND operation is in progress |
72 | * @param state [INTERN] the current state of the OneNAND device | 76 | * @param state [INTERN] the current state of the OneNAND device |
73 | * @param autooob [REPLACEABLE] the default (auto)placement scheme | 77 | * @param autooob [REPLACEABLE] the default (auto)placement scheme |
78 | * @param bbm [REPLACEABLE] pointer to Bad Block Management | ||
74 | * @param priv [OPTIONAL] pointer to private chip date | 79 | * @param priv [OPTIONAL] pointer to private chip date |
75 | */ | 80 | */ |
76 | struct onenand_chip { | 81 | struct onenand_chip { |
@@ -96,6 +101,8 @@ struct onenand_chip { | |||
96 | unsigned short (*read_word)(void __iomem *addr); | 101 | unsigned short (*read_word)(void __iomem *addr); |
97 | void (*write_word)(unsigned short value, void __iomem *addr); | 102 | void (*write_word)(unsigned short value, void __iomem *addr); |
98 | void (*mmcontrol)(struct mtd_info *mtd, int sync_read); | 103 | void (*mmcontrol)(struct mtd_info *mtd, int sync_read); |
104 | int (*block_markbad)(struct mtd_info *mtd, loff_t ofs); | ||
105 | int (*scan_bbt)(struct mtd_info *mtd); | ||
99 | 106 | ||
100 | spinlock_t chip_lock; | 107 | spinlock_t chip_lock; |
101 | wait_queue_head_t wq; | 108 | wait_queue_head_t wq; |
@@ -103,6 +110,8 @@ struct onenand_chip { | |||
103 | 110 | ||
104 | struct nand_oobinfo *autooob; | 111 | struct nand_oobinfo *autooob; |
105 | 112 | ||
113 | void *bbm; | ||
114 | |||
106 | void *priv; | 115 | void *priv; |
107 | }; | 116 | }; |
108 | 117 | ||