]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/mtd/mtdpart.c
Merge tag 'sound-4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai...
[karo-tx-linux.git] / drivers / mtd / mtdpart.c
index 1f13e32556f869634146c102ef1f2b0aea8fe4f1..fccdd49bb96407d844e11d67a454ae015194bdea 100644 (file)
@@ -30,7 +30,6 @@
 #include <linux/mtd/mtd.h>
 #include <linux/mtd/partitions.h>
 #include <linux/err.h>
-#include <linux/kconfig.h>
 
 #include "mtdcore.h"
 
@@ -317,6 +316,18 @@ static int part_block_markbad(struct mtd_info *mtd, loff_t ofs)
        return res;
 }
 
+static int part_get_device(struct mtd_info *mtd)
+{
+       struct mtd_part *part = mtd_to_part(mtd);
+       return part->master->_get_device(part->master);
+}
+
+static void part_put_device(struct mtd_info *mtd)
+{
+       struct mtd_part *part = mtd_to_part(mtd);
+       part->master->_put_device(part->master);
+}
+
 static int part_ooblayout_ecc(struct mtd_info *mtd, int section,
                              struct mtd_oob_region *oobregion)
 {
@@ -397,6 +408,7 @@ static struct mtd_part *allocate_partition(struct mtd_info *master,
        slave->mtd.oobsize = master->oobsize;
        slave->mtd.oobavail = master->oobavail;
        slave->mtd.subpage_sft = master->subpage_sft;
+       slave->mtd.pairing = master->pairing;
 
        slave->mtd.name = name;
        slave->mtd.owner = master->owner;
@@ -463,6 +475,12 @@ static struct mtd_part *allocate_partition(struct mtd_info *master,
                slave->mtd._block_isbad = part_block_isbad;
        if (master->_block_markbad)
                slave->mtd._block_markbad = part_block_markbad;
+
+       if (master->_get_device)
+               slave->mtd._get_device = part_get_device;
+       if (master->_put_device)
+               slave->mtd._put_device = part_put_device;
+
        slave->mtd._erase = part_erase;
        slave->master = master;
        slave->offset = part->offset;