diff options
Diffstat (limited to 'ANDROID_3.4.5/drivers/mtd/mtdpart.c')
-rw-r--r-- | ANDROID_3.4.5/drivers/mtd/mtdpart.c | 14 |
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); |