summaryrefslogtreecommitdiffstats
path: root/include/linux/mtd
diff options
context:
space:
mode:
authorKyungmin Park <kyungmin.park@samsung.com>2006-11-16 11:23:48 +0900
committerKyungmin Park <kyungmin.park@samsung.com>2006-11-16 11:23:48 +0900
commit2c22120fbd017d78ad2b6825ba573db3ef539bca (patch)
tree017c70446ff2a985e138a1352f0bad34f503bddd /include/linux/mtd
parentff0dab64b4e9ce3a073365342297e76ddaae9697 (diff)
downloadlinux-2c22120fbd017d78ad2b6825ba573db3ef539bca.tar.gz
linux-2c22120fbd017d78ad2b6825ba573db3ef539bca.tar.bz2
linux-2c22120fbd017d78ad2b6825ba573db3ef539bca.zip
MTD: OneNAND: interrupt based wait support
We can use the two methods to wait. 1. polling: read interrupt status register 2. interrupt: use kernel ineterrupt mechanism To use interrupt method, you first connect onenand interrupt pin to your platform and configure interrupt properly Signed-off-by: Kyungmin Park <kyungmin.park at samsung.com>
Diffstat (limited to 'include/linux/mtd')
-rw-r--r--include/linux/mtd/onenand.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/mtd/onenand.h b/include/linux/mtd/onenand.h
index 6f045b586e76..df963f1f6f87 100644
--- a/include/linux/mtd/onenand.h
+++ b/include/linux/mtd/onenand.h
@@ -13,6 +13,7 @@
#define __LINUX_MTD_ONENAND_H
#include <linux/spinlock.h>
+#include <linux/completion.h>
#include <linux/mtd/onenand_regs.h>
#include <linux/mtd/bbm.h>
@@ -120,6 +121,9 @@ struct onenand_chip {
int (*block_markbad)(struct mtd_info *mtd, loff_t ofs);
int (*scan_bbt)(struct mtd_info *mtd);
+ struct completion complete;
+ int irq;
+
spinlock_t chip_lock;
wait_queue_head_t wq;
onenand_state_t state;