mtd: rename MTD_OOB_* to MTD_OPS_*
To sync with the Linux kernel. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
278c16713a
commit
8dbf2821e9
|
@ -468,7 +468,7 @@ static int doc_read_oob(struct mtd_info *mtd, loff_t from,
|
|||
else
|
||||
ooblen = 0;
|
||||
|
||||
if (oobbuf && ops->mode == MTD_OOB_PLACE)
|
||||
if (oobbuf && ops->mode == MTD_OPS_PLACE_OOB)
|
||||
oobbuf += ops->ooboffs;
|
||||
|
||||
doc_dbg("doc_read_oob(from=%lld, mode=%d, data=(%p:%zu), oob=(%p:%zu))\n",
|
||||
|
@ -537,7 +537,7 @@ static int doc_read_oob(struct mtd_info *mtd, loff_t from,
|
|||
if ((block0 >= DOC_LAYOUT_BLOCK_FIRST_DATA) &&
|
||||
(eccconf1 & DOC_ECCCONF1_BCH_SYNDROM_ERR) &&
|
||||
(eccconf1 & DOC_ECCCONF1_PAGE_IS_WRITTEN) &&
|
||||
(ops->mode != MTD_OOB_RAW) &&
|
||||
(ops->mode != MTD_OPS_RAW) &&
|
||||
(nbdata == DOC_LAYOUT_PAGE_SIZE)) {
|
||||
ret = doc_ecc_bch_fix_data(docg3, buf, hwecc);
|
||||
if (ret < 0) {
|
||||
|
@ -577,7 +577,7 @@ static int doc_read(struct mtd_info *mtd, loff_t from, size_t len,
|
|||
memset(&ops, 0, sizeof(ops));
|
||||
ops.datbuf = buf;
|
||||
ops.len = len;
|
||||
ops.mode = MTD_OOB_AUTO;
|
||||
ops.mode = MTD_OPS_AUTO_OOB;
|
||||
|
||||
ret = doc_read_oob(mtd, from, &ops);
|
||||
*retlen = ops.retlen;
|
||||
|
@ -631,11 +631,11 @@ static int doc_guess_autoecc(struct mtd_oob_ops *ops)
|
|||
int autoecc;
|
||||
|
||||
switch (ops->mode) {
|
||||
case MTD_OOB_PLACE:
|
||||
case MTD_OOB_AUTO:
|
||||
case MTD_OPS_PLACE_OOB:
|
||||
case MTD_OPS_AUTO_OOB:
|
||||
autoecc = 1;
|
||||
break;
|
||||
case MTD_OOB_RAW:
|
||||
case MTD_OPS_RAW:
|
||||
autoecc = 0;
|
||||
break;
|
||||
default:
|
||||
|
@ -663,7 +663,7 @@ static int doc_backup_oob(struct docg3 *docg3, loff_t to,
|
|||
|
||||
docg3->oob_write_ofs = to;
|
||||
docg3->oob_autoecc = autoecc;
|
||||
if (ops->mode == MTD_OOB_AUTO) {
|
||||
if (ops->mode == MTD_OPS_AUTO_OOB) {
|
||||
doc_fill_autooob(docg3->oob_write_buf, ops->oobbuf);
|
||||
ops->oobretlen = 8;
|
||||
} else {
|
||||
|
@ -960,17 +960,17 @@ static int doc_write_oob(struct mtd_info *mtd, loff_t ofs,
|
|||
else
|
||||
ooblen = 0;
|
||||
|
||||
if (oobbuf && ops->mode == MTD_OOB_PLACE)
|
||||
if (oobbuf && ops->mode == MTD_OPS_PLACE_OOB)
|
||||
oobbuf += ops->ooboffs;
|
||||
|
||||
doc_dbg("doc_write_oob(from=%lld, mode=%d, data=(%p:%zu), oob=(%p:%zu))\n",
|
||||
ofs, ops->mode, buf, len, oobbuf, ooblen);
|
||||
switch (ops->mode) {
|
||||
case MTD_OOB_PLACE:
|
||||
case MTD_OOB_RAW:
|
||||
case MTD_OPS_PLACE_OOB:
|
||||
case MTD_OPS_RAW:
|
||||
oobdelta = mtd->oobsize;
|
||||
break;
|
||||
case MTD_OOB_AUTO:
|
||||
case MTD_OPS_AUTO_OOB:
|
||||
oobdelta = mtd->ecclayout->oobavail;
|
||||
break;
|
||||
default:
|
||||
|
@ -1005,7 +1005,7 @@ static int doc_write_oob(struct mtd_info *mtd, loff_t ofs,
|
|||
memset(oob, 0, sizeof(oob));
|
||||
if (ofs == docg3->oob_write_ofs)
|
||||
memcpy(oob, docg3->oob_write_buf, DOC_LAYOUT_OOB_SIZE);
|
||||
else if (ooblen > 0 && ops->mode == MTD_OOB_AUTO)
|
||||
else if (ooblen > 0 && ops->mode == MTD_OPS_AUTO_OOB)
|
||||
doc_fill_autooob(oob, oobbuf);
|
||||
else if (ooblen > 0)
|
||||
memcpy(oob, oobbuf, DOC_LAYOUT_OOB_SIZE);
|
||||
|
@ -1036,7 +1036,7 @@ static int doc_write(struct mtd_info *mtd, loff_t to, size_t len,
|
|||
doc_dbg("doc_write(to=%lld, len=%zu)\n", to, len);
|
||||
ops.datbuf = (char *)buf;
|
||||
ops.len = len;
|
||||
ops.mode = MTD_OOB_PLACE;
|
||||
ops.mode = MTD_OPS_PLACE_OOB;
|
||||
ops.oobbuf = NULL;
|
||||
ops.ooblen = 0;
|
||||
ops.ooboffs = 0;
|
||||
|
|
|
@ -48,7 +48,7 @@ static ssize_t mtd_read_oob(struct cdev *cdev, void *buf, size_t count,
|
|||
if (count < mtd->oobsize)
|
||||
return -EINVAL;
|
||||
|
||||
ops.mode = MTD_OOB_RAW;
|
||||
ops.mode = MTD_OPS_RAW;
|
||||
ops.ooboffs = 0;
|
||||
ops.ooblen = mtd->oobsize;
|
||||
ops.oobbuf = buf;
|
||||
|
|
|
@ -97,7 +97,7 @@ static ssize_t mtdraw_read_unaligned(struct mtd_info *mtd, void *dst,
|
|||
tmp = malloc(mtd->writesize + mtd->oobsize);
|
||||
if (!tmp)
|
||||
return -ENOMEM;
|
||||
ops.mode = MTD_OOB_RAW;
|
||||
ops.mode = MTD_OPS_RAW;
|
||||
ops.ooboffs = 0;
|
||||
ops.datbuf = tmp;
|
||||
ops.len = mtd->writesize;
|
||||
|
@ -152,7 +152,7 @@ static ssize_t mtdraw_blkwrite(struct mtd_info *mtd, const void *buf,
|
|||
struct mtd_oob_ops ops;
|
||||
int ret;
|
||||
|
||||
ops.mode = MTD_OOB_RAW;
|
||||
ops.mode = MTD_OPS_RAW;
|
||||
ops.ooboffs = 0;
|
||||
ops.datbuf = (void *)buf;
|
||||
ops.len = mtd->writesize;
|
||||
|
|
|
@ -610,12 +610,12 @@ static uint8_t *nand_transfer_oob(struct nand_chip *chip, uint8_t *oob,
|
|||
{
|
||||
switch(ops->mode) {
|
||||
|
||||
case MTD_OOB_PLACE:
|
||||
case MTD_OOB_RAW:
|
||||
case MTD_OPS_PLACE_OOB:
|
||||
case MTD_OPS_RAW:
|
||||
memcpy(oob, chip->oob_poi + ops->ooboffs, len);
|
||||
return oob + len;
|
||||
|
||||
case MTD_OOB_AUTO: {
|
||||
case MTD_OPS_AUTO_OOB: {
|
||||
struct nand_oobfree *free = chip->ecc.layout->oobfree;
|
||||
uint32_t boffs = 0, roffs = ops->ooboffs;
|
||||
size_t bytes = 0;
|
||||
|
@ -696,7 +696,7 @@ static int nand_do_read_ops(struct mtd_info *mtd, loff_t from,
|
|||
}
|
||||
|
||||
/* Now read the page into the buffer */
|
||||
if (unlikely(ops->mode == MTD_OOB_RAW))
|
||||
if (unlikely(ops->mode == MTD_OPS_RAW))
|
||||
ret = chip->ecc.read_page_raw(mtd, chip, bufpoi);
|
||||
else
|
||||
ret = chip->ecc.read_page(mtd, chip, bufpoi);
|
||||
|
@ -714,7 +714,7 @@ static int nand_do_read_ops(struct mtd_info *mtd, loff_t from,
|
|||
#ifdef CONFIG_NAND_READ_OOB
|
||||
if (unlikely(oob)) {
|
||||
/* Raw mode does data:oob:data:oob */
|
||||
if (ops->mode != MTD_OOB_RAW) {
|
||||
if (ops->mode != MTD_OPS_RAW) {
|
||||
int toread = min(oobreadlen,
|
||||
chip->ecc.layout->oobavail);
|
||||
if (toread) {
|
||||
|
@ -856,7 +856,7 @@ static int nand_do_read_oob(struct mtd_info *mtd, loff_t from,
|
|||
MTD_DEBUG(MTD_DEBUG_LEVEL3, "nand_read_oob: from = 0x%08Lx, len = %i\n",
|
||||
(unsigned long long)from, readlen);
|
||||
|
||||
if (ops->mode == MTD_OOB_AUTO)
|
||||
if (ops->mode == MTD_OPS_AUTO_OOB)
|
||||
len = chip->ecc.layout->oobavail;
|
||||
else
|
||||
len = mtd->oobsize;
|
||||
|
@ -951,9 +951,9 @@ static int nand_read_oob(struct mtd_info *mtd, loff_t from,
|
|||
}
|
||||
|
||||
switch(ops->mode) {
|
||||
case MTD_OOB_PLACE:
|
||||
case MTD_OOB_AUTO:
|
||||
case MTD_OOB_RAW:
|
||||
case MTD_OPS_PLACE_OOB:
|
||||
case MTD_OPS_AUTO_OOB:
|
||||
case MTD_OPS_RAW:
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
|
@ -244,7 +244,7 @@ static int scan_read_raw(struct mtd_info *mtd, uint8_t *buf, loff_t offs,
|
|||
{
|
||||
struct mtd_oob_ops ops;
|
||||
|
||||
ops.mode = MTD_OOB_RAW;
|
||||
ops.mode = MTD_OPS_RAW;
|
||||
ops.ooboffs = 0;
|
||||
ops.ooblen = mtd->oobsize;
|
||||
ops.oobbuf = buf;
|
||||
|
@ -263,7 +263,7 @@ static int scan_write_bbt(struct mtd_info *mtd, loff_t offs, size_t len,
|
|||
{
|
||||
struct mtd_oob_ops ops;
|
||||
|
||||
ops.mode = MTD_OOB_PLACE;
|
||||
ops.mode = MTD_OPS_PLACE_OOB;
|
||||
ops.ooboffs = 0;
|
||||
ops.ooblen = mtd->oobsize;
|
||||
ops.datbuf = buf;
|
||||
|
@ -343,7 +343,7 @@ static int scan_block_fast(struct mtd_info *mtd, struct nand_bbt_descr *bd,
|
|||
ops.oobbuf = buf;
|
||||
ops.ooboffs = 0;
|
||||
ops.datbuf = NULL;
|
||||
ops.mode = MTD_OOB_PLACE;
|
||||
ops.mode = MTD_OPS_PLACE_OOB;
|
||||
|
||||
for (j = 0; j < len; j++) {
|
||||
/*
|
||||
|
@ -581,7 +581,7 @@ static int write_bbt(struct mtd_info *mtd, uint8_t *buf,
|
|||
ops.ooblen = mtd->oobsize;
|
||||
ops.ooboffs = 0;
|
||||
ops.datbuf = NULL;
|
||||
ops.mode = MTD_OOB_PLACE;
|
||||
ops.mode = MTD_OPS_PLACE_OOB;
|
||||
|
||||
if (!rcode)
|
||||
rcode = 0xff;
|
||||
|
|
|
@ -831,7 +831,7 @@ static int mxs_nand_hook_read_oob(struct mtd_info *mtd, loff_t from,
|
|||
struct mxs_nand_info *nand_info = chip->priv;
|
||||
int ret;
|
||||
|
||||
if (ops->mode == MTD_OOB_RAW)
|
||||
if (ops->mode == MTD_OPS_RAW)
|
||||
nand_info->raw_oob_mode = 1;
|
||||
else
|
||||
nand_info->raw_oob_mode = 0;
|
||||
|
@ -856,7 +856,7 @@ static int mxs_nand_hook_write_oob(struct mtd_info *mtd, loff_t to,
|
|||
struct mxs_nand_info *nand_info = chip->priv;
|
||||
int ret;
|
||||
|
||||
if (ops->mode == MTD_OOB_RAW)
|
||||
if (ops->mode == MTD_OPS_RAW)
|
||||
nand_info->raw_oob_mode = 1;
|
||||
else
|
||||
nand_info->raw_oob_mode = 0;
|
||||
|
|
|
@ -107,7 +107,7 @@ int nand_default_block_markbad(struct mtd_info *mtd, loff_t ofs)
|
|||
} else {
|
||||
ops.len = ops.ooblen = 1;
|
||||
}
|
||||
ops.mode = MTD_OOB_PLACE;
|
||||
ops.mode = MTD_OPS_PLACE_OOB;
|
||||
|
||||
/* Write to first/last page(s) if necessary */
|
||||
if (chip->options & NAND_BBT_LASTBLOCK)
|
||||
|
@ -256,12 +256,12 @@ static uint8_t *nand_fill_oob(struct nand_chip *chip, uint8_t *oob,
|
|||
|
||||
switch(ops->mode) {
|
||||
|
||||
case MTD_OOB_PLACE:
|
||||
case MTD_OOB_RAW:
|
||||
case MTD_OPS_PLACE_OOB:
|
||||
case MTD_OPS_RAW:
|
||||
memcpy(chip->oob_poi + ops->ooboffs, oob, len);
|
||||
return oob + len;
|
||||
|
||||
case MTD_OOB_AUTO: {
|
||||
case MTD_OPS_AUTO_OOB: {
|
||||
struct nand_oobfree *free = chip->ecc.layout->oobfree;
|
||||
uint32_t boffs = 0, woffs = ops->ooboffs;
|
||||
size_t bytes = 0;
|
||||
|
@ -363,7 +363,7 @@ int nand_do_write_ops(struct mtd_info *mtd, loff_t to,
|
|||
|
||||
if (oob || !mtd_all_ff(wbuf, mtd->writesize)) {
|
||||
ret = chip->write_page(mtd, chip, wbuf, page, cached,
|
||||
(ops->mode == MTD_OOB_RAW));
|
||||
(ops->mode == MTD_OPS_RAW));
|
||||
if (ret)
|
||||
break;
|
||||
}
|
||||
|
@ -441,7 +441,7 @@ static int nand_do_write_oob(struct mtd_info *mtd, loff_t to,
|
|||
MTD_DEBUG(MTD_DEBUG_LEVEL3, "nand_write_oob: to = 0x%08x, len = %i\n",
|
||||
(unsigned int)to, (int)ops->ooblen);
|
||||
|
||||
if (ops->mode == MTD_OOB_AUTO)
|
||||
if (ops->mode == MTD_OPS_AUTO_OOB)
|
||||
len = chip->ecc.layout->oobavail;
|
||||
else
|
||||
len = mtd->oobsize;
|
||||
|
@ -525,9 +525,9 @@ int nand_write_oob(struct mtd_info *mtd, loff_t to,
|
|||
}
|
||||
|
||||
switch(ops->mode) {
|
||||
case MTD_OOB_PLACE:
|
||||
case MTD_OOB_AUTO:
|
||||
case MTD_OOB_RAW:
|
||||
case MTD_OPS_PLACE_OOB:
|
||||
case MTD_OPS_AUTO_OOB:
|
||||
case MTD_OPS_RAW:
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
|
@ -20,6 +20,25 @@ struct mtd_oob_buf {
|
|||
unsigned char *ptr;
|
||||
};
|
||||
|
||||
/**
|
||||
* MTD operation modes
|
||||
*
|
||||
* @MTD_OPS_PLACE_OOB: OOB data are placed at the given offset (default)
|
||||
* @MTD_OPS_AUTO_OOB: OOB data are automatically placed at the free areas
|
||||
* which are defined by the internal ecclayout
|
||||
* @MTD_OPS_RAW: data are transferred as-is, with no error correction;
|
||||
* this mode implies %MTD_OPS_PLACE_OOB
|
||||
*
|
||||
* These modes can be passed to ioctl(MEMWRITE) and are also used internally.
|
||||
* See notes on "MTD file modes" for discussion on %MTD_OPS_RAW vs.
|
||||
* %MTD_FILE_MODE_RAW.
|
||||
*/
|
||||
enum {
|
||||
MTD_OPS_PLACE_OOB = 0,
|
||||
MTD_OPS_AUTO_OOB = 1,
|
||||
MTD_OPS_RAW = 2,
|
||||
};
|
||||
|
||||
#define MTD_ABSENT 0
|
||||
#define MTD_RAM 1
|
||||
#define MTD_ROM 2
|
||||
|
|
|
@ -52,22 +52,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 raw data+oob in one chunk. The oob data
|
||||
* is inserted into the data. Thats a raw image of the
|
||||
* flash contents.
|
||||
*/
|
||||
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
|
||||
|
@ -88,7 +72,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;
|
||||
|
|
Loading…
Reference in New Issue