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>
This commit is contained in:
Brian Norris 2011-08-30 18:45:39 -07:00 коммит произвёл Artem Bityutskiy
Родитель c46f6483d2
Коммит 905c6bcdb4
3 изменённых файлов: 18 добавлений и 17 удалений

Просмотреть файл

@ -1351,7 +1351,7 @@ static int onenand_read_oob_nolock(struct mtd_info *mtd, loff_t from,
struct mtd_ecc_stats stats; struct mtd_ecc_stats stats;
int read = 0, thislen, column, oobsize; int read = 0, thislen, column, oobsize;
size_t len = ops->ooblen; size_t len = ops->ooblen;
mtd_oob_mode_t mode = ops->mode; unsigned int mode = ops->mode;
u_char *buf = ops->oobbuf; u_char *buf = ops->oobbuf;
int ret = 0, readcmd; int ret = 0, readcmd;
@ -2074,7 +2074,7 @@ static int onenand_write_oob_nolock(struct mtd_info *mtd, loff_t to,
u_char *oobbuf; u_char *oobbuf;
size_t len = ops->ooblen; size_t len = ops->ooblen;
const u_char *buf = ops->oobbuf; const u_char *buf = ops->oobbuf;
mtd_oob_mode_t mode = ops->mode; unsigned int mode = ops->mode;
to += ops->ooboffs; to += ops->ooboffs;

Просмотреть файл

@ -68,20 +68,6 @@ struct mtd_erase_region_info {
unsigned long *lockmap; /* If keeping bitmap of locks */ unsigned long *lockmap; /* If keeping bitmap of locks */
}; };
/*
* oob operation modes
*
* MTD_OOB_PLACE: oob data are placed at the given offset
* MTD_OOB_AUTO: oob data are automatically placed at the free areas
* which are defined by the ecclayout
* MTD_OOB_RAW: mode to read oob and data without doing ECC checking
*/
typedef enum {
MTD_OOB_PLACE,
MTD_OOB_AUTO,
MTD_OOB_RAW,
} mtd_oob_mode_t;
/** /**
* struct mtd_oob_ops - oob operation operands * struct mtd_oob_ops - oob operation operands
* @mode: operation mode * @mode: operation mode
@ -102,7 +88,7 @@ typedef enum {
* OOB area. * OOB area.
*/ */
struct mtd_oob_ops { struct mtd_oob_ops {
mtd_oob_mode_t mode; unsigned int mode;
size_t len; size_t len;
size_t retlen; size_t retlen;
size_t ooblen; size_t ooblen;

Просмотреть файл

@ -45,6 +45,21 @@ struct mtd_oob_buf64 {
__u64 usr_ptr; __u64 usr_ptr;
}; };
/*
* oob operation modes
*
* MTD_OOB_PLACE: oob data are placed at the given offset (default)
* MTD_OOB_AUTO: oob data are automatically placed at the free areas
* which are defined by the internal ecclayout
* MTD_OOB_RAW: mode to read or write oob and data without doing ECC
* checking
*/
enum {
MTD_OOB_PLACE = 0,
MTD_OOB_AUTO = 1,
MTD_OOB_RAW = 2,
};
#define MTD_ABSENT 0 #define MTD_ABSENT 0
#define MTD_RAM 1 #define MTD_RAM 1
#define MTD_ROM 2 #define MTD_ROM 2