]> git.sur5r.net Git - u-boot/blobdiff - drivers/mtd/mtdpart.c
Merge git://git.denx.de/u-boot-cfi-flash
[u-boot] / drivers / mtd / mtdpart.c
index cfbaa3d9a0cbbfda3e6dda66dd889a20c95aca31..5e42c4b833f648fded457321292e2ce3b36b93e2 100644 (file)
@@ -20,7 +20,7 @@
 
 #include <common.h>
 #include <malloc.h>
-#include <asm/errno.h>
+#include <linux/errno.h>
 #include <linux/compat.h>
 #include <ubi_uboot.h>
 
@@ -321,6 +321,13 @@ static void part_resume(struct mtd_info *mtd)
 }
 #endif
 
+static int part_block_isreserved(struct mtd_info *mtd, loff_t ofs)
+{
+       struct mtd_part *part = PART(mtd);
+       ofs += part->offset;
+       return part->master->_block_isreserved(part->master, ofs);
+}
+
 static int part_block_isbad(struct mtd_info *mtd, loff_t ofs)
 {
        struct mtd_part *part = PART(mtd);
@@ -459,6 +466,8 @@ static struct mtd_part *allocate_partition(struct mtd_info *master,
                slave->mtd._unlock = part_unlock;
        if (master->_is_locked)
                slave->mtd._is_locked = part_is_locked;
+       if (master->_block_isreserved)
+               slave->mtd._block_isreserved = part_block_isreserved;
        if (master->_block_isbad)
                slave->mtd._block_isbad = part_block_isbad;
        if (master->_block_markbad)