kernel: backport mtd implementation for "compatible" in "partitions" subnode
[openwrt/staging/dedeckeh.git] / target / linux / generic / pending-4.14 / 400-mtd-add-rootfs-split-support.patch
index f0c852a6957fd0b8597c77acaacee1ae3a7bff5d..e722d8ca92d40ba835e5e4d5485806f19fea54a6 100644 (file)
@@ -37,20 +37,21 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        depends on m
 --- a/drivers/mtd/mtdpart.c
 +++ b/drivers/mtd/mtdpart.c
-@@ -29,10 +29,12 @@
+@@ -29,11 +29,13 @@
  #include <linux/kmod.h>
  #include <linux/mtd/mtd.h>
  #include <linux/mtd/partitions.h>
 +#include <linux/magic.h>
  #include <linux/of.h>
  #include <linux/err.h>
+ #include <linux/of.h>
  
  #include "mtdcore.h"
 +#include "mtdsplit/mtdsplit.h"
  
  /* Our partition linked list */
  static LIST_HEAD(mtd_partitions);
-@@ -52,6 +54,8 @@ struct mtd_part {
+@@ -53,6 +55,8 @@ struct mtd_part {
        struct list_head list;
  };
  
@@ -59,7 +60,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  /*
   * Given a pointer to the MTD object in the mtd_part structure, we can retrieve
   * the pointer to that structure.
-@@ -686,6 +690,7 @@ int mtd_add_partition(struct mtd_info *p
+@@ -687,6 +691,7 @@ int mtd_add_partition(struct mtd_info *p
        mutex_unlock(&mtd_partitions_mutex);
  
        add_mtd_device(&new->mtd);
@@ -67,7 +68,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
        mtd_add_partition_attrs(new);
  
-@@ -764,6 +769,35 @@ int mtd_del_partition(struct mtd_info *m
+@@ -765,6 +770,35 @@ int mtd_del_partition(struct mtd_info *m
  }
  EXPORT_SYMBOL_GPL(mtd_del_partition);
  
@@ -103,7 +104,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  /*
   * This function, given a master MTD object and a partition table, creates
   * and registers slave MTD objects which are bound to the master according to
-@@ -795,6 +829,7 @@ int add_mtd_partitions(struct mtd_info *
+@@ -796,6 +830,7 @@ int add_mtd_partitions(struct mtd_info *
                mutex_unlock(&mtd_partitions_mutex);
  
                add_mtd_device(&slave->mtd);
@@ -113,7 +114,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                        mtd_parse_part(slave, parts[i].types);
 --- a/include/linux/mtd/partitions.h
 +++ b/include/linux/mtd/partitions.h
-@@ -109,5 +109,7 @@ int mtd_add_partition(struct mtd_info *m
+@@ -110,5 +110,7 @@ int mtd_add_partition(struct mtd_info *m
                      long long offset, long long length);
  int mtd_del_partition(struct mtd_info *master, int partno);
  uint64_t mtd_get_device_size(const struct mtd_info *mtd);