Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 905c6bcd authored by Brian Norris's avatar Brian Norris Committed by Artem Bityutskiy
Browse files

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: default avatarBrian Norris <computersforpeace@gmail.com>
Signed-off-by: default avatarArtem Bityutskiy <artem.bityutskiy@intel.com>
parent c46f6483
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1351,7 +1351,7 @@ static int onenand_read_oob_nolock(struct mtd_info *mtd, loff_t from,
	struct mtd_ecc_stats stats;
	int read = 0, thislen, column, oobsize;
	size_t len = ops->ooblen;
	mtd_oob_mode_t mode = ops->mode;
	unsigned int mode = ops->mode;
	u_char *buf = ops->oobbuf;
	int ret = 0, readcmd;

@@ -2074,7 +2074,7 @@ static int onenand_write_oob_nolock(struct mtd_info *mtd, loff_t to,
	u_char *oobbuf;
	size_t len = ops->ooblen;
	const u_char *buf = ops->oobbuf;
	mtd_oob_mode_t mode = ops->mode;
	unsigned int mode = ops->mode;

	to += ops->ooboffs;

+1 −15
Original line number Diff line number Diff line
@@ -68,20 +68,6 @@ struct mtd_erase_region_info {
	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
 * @mode:	operation mode
@@ -102,7 +88,7 @@ typedef enum {
 * OOB area.
 */
struct mtd_oob_ops {
	mtd_oob_mode_t	mode;
	unsigned int	mode;
	size_t		len;
	size_t		retlen;
	size_t		ooblen;
+15 −0
Original line number Diff line number Diff line
@@ -45,6 +45,21 @@ struct mtd_oob_buf64 {
	__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_RAM			1
#define MTD_ROM			2