summaryrefslogtreecommitdiff
path: root/include/linux/mtd/onenand.h
diff options
context:
space:
mode:
authorKyungmin Park <kmpark@infradead.org>2008-08-13 09:11:02 +0900
committerScott Wood <scottwood@freescale.com>2008-08-13 11:00:19 -0500
commitd438d50848e9425286e5fb0493e0affb5a0b1e1b (patch)
tree49406f77ad245aca8e1e21b98f2d3216c2a3f774 /include/linux/mtd/onenand.h
parent8641ff266ae6638da201747c239fd39ba34c4958 (diff)
downloadu-boot-imx-d438d50848e9425286e5fb0493e0affb5a0b1e1b.zip
u-boot-imx-d438d50848e9425286e5fb0493e0affb5a0b1e1b.tar.gz
u-boot-imx-d438d50848e9425286e5fb0493e0affb5a0b1e1b.tar.bz2
Fix OneNAND build break
Since page size field is changed from oobblock to writesize. But OneNAND is not updated. - fix bufferram management at erase operation This patch includes the NAND/OneNAND state filed too. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Scott Wood <scottwood@freescale.com>
Diffstat (limited to 'include/linux/mtd/onenand.h')
-rw-r--r--include/linux/mtd/onenand.h19
1 files changed, 4 insertions, 15 deletions
diff --git a/include/linux/mtd/onenand.h b/include/linux/mtd/onenand.h
index 4b0c2df..8a0fd0d 100644
--- a/include/linux/mtd/onenand.h
+++ b/include/linux/mtd/onenand.h
@@ -17,6 +17,7 @@
/* Note: The header order is impoertant */
#include <onenand_uboot.h>
+#include <linux/mtd/compat.h>
#include <linux/mtd/bbm.h>
#define MAX_BUFFERRAM 2
@@ -28,20 +29,6 @@ extern int onenand_scan (struct mtd_info *mtd, int max_chips);
extern void onenand_release (struct mtd_info *mtd);
/**
- * onenand_state_t - chip states
- * Enumeration for OneNAND flash chip state
- */
-typedef enum {
- FL_READY,
- FL_READING,
- FL_WRITING,
- FL_ERASING,
- FL_SYNCING,
- FL_UNLOCKING,
- FL_LOCKING,
-} onenand_state_t;
-
-/**
* struct onenand_bufferram - OneNAND BufferRAM Data
* @param block block address in BufferRAM
* @param page page address in BufferRAM
@@ -103,10 +90,12 @@ struct onenand_chip {
unsigned short (*read_word) (void __iomem * addr);
void (*write_word) (unsigned short value, void __iomem * addr);
void (*mmcontrol) (struct mtd_info * mtd, int sync_read);
+ int (*block_markbad)(struct mtd_info *mtd, loff_t ofs);
+ int (*scan_bbt)(struct mtd_info *mtd);
spinlock_t chip_lock;
wait_queue_head_t wq;
- onenand_state_t state;
+ int state;
struct nand_oobinfo *autooob;