|
@@ -172,8 +172,6 @@ static int part_write(struct mtd_info *mtd, loff_t to, size_t len,
|
|
size_t *retlen, const u_char *buf)
|
|
size_t *retlen, const u_char *buf)
|
|
{
|
|
{
|
|
struct mtd_part *part = PART(mtd);
|
|
struct mtd_part *part = PART(mtd);
|
|
- if (!(mtd->flags & MTD_WRITEABLE))
|
|
|
|
- return -EROFS;
|
|
|
|
return mtd_write(part->master, to + part->offset, len, retlen, buf);
|
|
return mtd_write(part->master, to + part->offset, len, retlen, buf);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -181,8 +179,6 @@ static int part_panic_write(struct mtd_info *mtd, loff_t to, size_t len,
|
|
size_t *retlen, const u_char *buf)
|
|
size_t *retlen, const u_char *buf)
|
|
{
|
|
{
|
|
struct mtd_part *part = PART(mtd);
|
|
struct mtd_part *part = PART(mtd);
|
|
- if (!(mtd->flags & MTD_WRITEABLE))
|
|
|
|
- return -EROFS;
|
|
|
|
return mtd_panic_write(part->master, to + part->offset, len, retlen,
|
|
return mtd_panic_write(part->master, to + part->offset, len, retlen,
|
|
buf);
|
|
buf);
|
|
}
|
|
}
|
|
@@ -192,9 +188,6 @@ static int part_write_oob(struct mtd_info *mtd, loff_t to,
|
|
{
|
|
{
|
|
struct mtd_part *part = PART(mtd);
|
|
struct mtd_part *part = PART(mtd);
|
|
|
|
|
|
- if (!(mtd->flags & MTD_WRITEABLE))
|
|
|
|
- return -EROFS;
|
|
|
|
-
|
|
|
|
if (to >= mtd->size)
|
|
if (to >= mtd->size)
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
if (ops->datbuf && to + ops->len > mtd->size)
|
|
if (ops->datbuf && to + ops->len > mtd->size)
|
|
@@ -220,8 +213,6 @@ static int part_writev(struct mtd_info *mtd, const struct kvec *vecs,
|
|
unsigned long count, loff_t to, size_t *retlen)
|
|
unsigned long count, loff_t to, size_t *retlen)
|
|
{
|
|
{
|
|
struct mtd_part *part = PART(mtd);
|
|
struct mtd_part *part = PART(mtd);
|
|
- if (!(mtd->flags & MTD_WRITEABLE))
|
|
|
|
- return -EROFS;
|
|
|
|
return mtd_writev(part->master, vecs, count, to + part->offset,
|
|
return mtd_writev(part->master, vecs, count, to + part->offset,
|
|
retlen);
|
|
retlen);
|
|
}
|
|
}
|
|
@@ -230,8 +221,7 @@ static int part_erase(struct mtd_info *mtd, struct erase_info *instr)
|
|
{
|
|
{
|
|
struct mtd_part *part = PART(mtd);
|
|
struct mtd_part *part = PART(mtd);
|
|
int ret;
|
|
int ret;
|
|
- if (!(mtd->flags & MTD_WRITEABLE))
|
|
|
|
- return -EROFS;
|
|
|
|
|
|
+
|
|
instr->addr += part->offset;
|
|
instr->addr += part->offset;
|
|
ret = mtd_erase(part->master, instr);
|
|
ret = mtd_erase(part->master, instr);
|
|
if (ret) {
|
|
if (ret) {
|
|
@@ -304,8 +294,6 @@ static int part_block_markbad(struct mtd_info *mtd, loff_t ofs)
|
|
struct mtd_part *part = PART(mtd);
|
|
struct mtd_part *part = PART(mtd);
|
|
int res;
|
|
int res;
|
|
|
|
|
|
- if (!(mtd->flags & MTD_WRITEABLE))
|
|
|
|
- return -EROFS;
|
|
|
|
ofs += part->offset;
|
|
ofs += part->offset;
|
|
res = mtd_block_markbad(part->master, ofs);
|
|
res = mtd_block_markbad(part->master, ofs);
|
|
if (!res)
|
|
if (!res)
|