summaryrefslogtreecommitdiff
path: root/ANDROID_3.4.5/drivers/mtd/mtdpart.c
diff options
context:
space:
mode:
Diffstat (limited to 'ANDROID_3.4.5/drivers/mtd/mtdpart.c')
-rw-r--r--ANDROID_3.4.5/drivers/mtd/mtdpart.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/ANDROID_3.4.5/drivers/mtd/mtdpart.c b/ANDROID_3.4.5/drivers/mtd/mtdpart.c
index 9651c06d..d3f3ce3e 100644
--- a/ANDROID_3.4.5/drivers/mtd/mtdpart.c
+++ b/ANDROID_3.4.5/drivers/mtd/mtdpart.c
@@ -171,13 +171,14 @@ static int part_get_fact_prot_info(struct mtd_info *mtd, struct otp_info *buf,
struct mtd_part *part = PART(mtd);
return part->master->_get_fact_prot_info(part->master, buf, len);
}
-
static int part_write(struct mtd_info *mtd, loff_t to, size_t len,
size_t *retlen, const u_char *buf)
{
+ int ret;
struct mtd_part *part = PART(mtd);
- return part->master->_write(part->master, to + part->offset, len,
+ ret = part->master->_write(part->master, to + part->offset, len,
retlen, buf);
+ return ret;
}
static int part_panic_write(struct mtd_info *mtd, loff_t to, size_t len,
@@ -758,3 +759,12 @@ int mtd_is_partition(struct mtd_info *mtd)
return ispart;
}
EXPORT_SYMBOL_GPL(mtd_is_partition);
+
+uint64_t mtd_get_device_size(struct mtd_info *mtd)
+{
+ if (!mtd_is_partition(mtd))
+ return mtd->size;
+
+ return PART(mtd)->master->size;
+}
+EXPORT_SYMBOL_GPL(mtd_get_device_size);