]> git.sur5r.net Git - u-boot/blobdiff - drivers/mtd/mtdpart.c
tools/kwbimage: update the list of SoCs using v1 header
[u-boot] / drivers / mtd / mtdpart.c
index 2f20b92a8825896f9dc3330453beeb6580e95240..5e42c4b833f648fded457321292e2ce3b36b93e2 100644 (file)
@@ -9,7 +9,6 @@
  *
  */
 
-#define __UBOOT__
 #ifndef __UBOOT__
 #include <linux/module.h>
 #include <linux/types.h>
@@ -21,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>
 
@@ -322,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);
@@ -460,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)