diff options
Diffstat (limited to 'drivers/mtd/mtdpart.c')
-rw-r--r-- | drivers/mtd/mtdpart.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c index 1ca9aec141ff..921e8c647884 100644 --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c | |||
@@ -290,6 +290,13 @@ static void part_resume(struct mtd_info *mtd) | |||
290 | part->master->_resume(part->master); | 290 | part->master->_resume(part->master); |
291 | } | 291 | } |
292 | 292 | ||
293 | static int part_block_isreserved(struct mtd_info *mtd, loff_t ofs) | ||
294 | { | ||
295 | struct mtd_part *part = PART(mtd); | ||
296 | ofs += part->offset; | ||
297 | return part->master->_block_isreserved(part->master, ofs); | ||
298 | } | ||
299 | |||
293 | static int part_block_isbad(struct mtd_info *mtd, loff_t ofs) | 300 | static int part_block_isbad(struct mtd_info *mtd, loff_t ofs) |
294 | { | 301 | { |
295 | struct mtd_part *part = PART(mtd); | 302 | struct mtd_part *part = PART(mtd); |
@@ -422,6 +429,8 @@ static struct mtd_part *allocate_partition(struct mtd_info *master, | |||
422 | slave->mtd._unlock = part_unlock; | 429 | slave->mtd._unlock = part_unlock; |
423 | if (master->_is_locked) | 430 | if (master->_is_locked) |
424 | slave->mtd._is_locked = part_is_locked; | 431 | slave->mtd._is_locked = part_is_locked; |
432 | if (master->_block_isreserved) | ||
433 | slave->mtd._block_isreserved = part_block_isreserved; | ||
425 | if (master->_block_isbad) | 434 | if (master->_block_isbad) |
426 | slave->mtd._block_isbad = part_block_isbad; | 435 | slave->mtd._block_isbad = part_block_isbad; |
427 | if (master->_block_markbad) | 436 | if (master->_block_markbad) |