aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Norris <computersforpeace@gmail.com>2011-08-30 21:45:39 -0400
committerArtem Bityutskiy <artem.bityutskiy@intel.com>2011-09-11 08:26:20 -0400
commit905c6bcdb42616da717a9bd6c0c5870dbd90b09e (patch)
tree211f0068cb67463d4e2120c5457a81b4b6e56ff9
parentc46f6483d21e93400e4a110de7902830173d53b0 (diff)
mtd: move mtd_oob_mode_t to shared kernel/user space
We will want to use the MTD_OOB_{PLACE,AUTO,RAW} modes in user-space applications through the introduction of new ioctls, so we should make this enum a shared type. This enum is now anonymous. Artem: tweaked the patch. Signed-off-by: Brian Norris <computersforpeace@gmail.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
-rw-r--r--drivers/mtd/onenand/onenand_base.c4
-rw-r--r--include/linux/mtd/mtd.h16
-rw-r--r--include/mtd/mtd-abi.h15
3 files changed, 18 insertions, 17 deletions
diff --git a/drivers/mtd/onenand/onenand_base.c b/drivers/mtd/onenand/onenand_base.c
index de98791f8101..493901a59e6e 100644
--- a/drivers/mtd/onenand/onenand_base.c
+++ b/drivers/mtd/onenand/onenand_base.c
@@ -1351,7 +1351,7 @@ static int onenand_read_oob_nolock(struct mtd_info *mtd, loff_t from,
1351 struct mtd_ecc_stats stats; 1351 struct mtd_ecc_stats stats;
1352 int read = 0, thislen, column, oobsize; 1352 int read = 0, thislen, column, oobsize;
1353 size_t len = ops->ooblen; 1353 size_t len = ops->ooblen;
1354 mtd_oob_mode_t mode = ops->mode; 1354 unsigned int mode = ops->mode;
1355 u_char *buf = ops->oobbuf; 1355 u_char *buf = ops->oobbuf;
1356 int ret = 0, readcmd; 1356 int ret = 0, readcmd;
1357 1357
@@ -2074,7 +2074,7 @@ static int onenand_write_oob_nolock(struct mtd_info *mtd, loff_t to,
2074 u_char *oobbuf; 2074 u_char *oobbuf;
2075 size_t len = ops->ooblen; 2075 size_t len = ops->ooblen;
2076 const u_char *buf = ops->oobbuf; 2076 const u_char *buf = ops->oobbuf;
2077 mtd_oob_mode_t mode = ops->mode; 2077 unsigned int mode = ops->mode;
2078 2078
2079 to += ops->ooboffs; 2079 to += ops->ooboffs;
2080 2080
diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h
index ff7bae08c5e0..6882cd968a3e 100644
--- a/include/linux/mtd/mtd.h
+++ b/include/linux/mtd/mtd.h
@@ -68,20 +68,6 @@ struct mtd_erase_region_info {
68 unsigned long *lockmap; /* If keeping bitmap of locks */ 68 unsigned long *lockmap; /* If keeping bitmap of locks */
69}; 69};
70 70
71/*
72 * oob operation modes
73 *
74 * MTD_OOB_PLACE: oob data are placed at the given offset
75 * MTD_OOB_AUTO: oob data are automatically placed at the free areas
76 * which are defined by the ecclayout
77 * MTD_OOB_RAW: mode to read oob and data without doing ECC checking
78 */
79typedef enum {
80 MTD_OOB_PLACE,
81 MTD_OOB_AUTO,
82 MTD_OOB_RAW,
83} mtd_oob_mode_t;
84
85/** 71/**
86 * struct mtd_oob_ops - oob operation operands 72 * struct mtd_oob_ops - oob operation operands
87 * @mode: operation mode 73 * @mode: operation mode
@@ -102,7 +88,7 @@ typedef enum {
102 * OOB area. 88 * OOB area.
103 */ 89 */
104struct mtd_oob_ops { 90struct mtd_oob_ops {
105 mtd_oob_mode_t mode; 91 unsigned int mode;
106 size_t len; 92 size_t len;
107 size_t retlen; 93 size_t retlen;
108 size_t ooblen; 94 size_t ooblen;
diff --git a/include/mtd/mtd-abi.h b/include/mtd/mtd-abi.h
index 3bdda5c426bd..af42c7a34805 100644
--- a/include/mtd/mtd-abi.h
+++ b/include/mtd/mtd-abi.h
@@ -45,6 +45,21 @@ struct mtd_oob_buf64 {
45 __u64 usr_ptr; 45 __u64 usr_ptr;
46}; 46};
47 47
48/*
49 * oob operation modes
50 *
51 * MTD_OOB_PLACE: oob data are placed at the given offset (default)
52 * MTD_OOB_AUTO: oob data are automatically placed at the free areas
53 * which are defined by the internal ecclayout
54 * MTD_OOB_RAW: mode to read or write oob and data without doing ECC
55 * checking
56 */
57enum {
58 MTD_OOB_PLACE = 0,
59 MTD_OOB_AUTO = 1,
60 MTD_OOB_RAW = 2,
61};
62
48#define MTD_ABSENT 0 63#define MTD_ABSENT 0
49#define MTD_RAM 1 64#define MTD_RAM 1
50#define MTD_ROM 2 65#define MTD_ROM 2