[PATCH 6/8] mtd: partition: only copy selected fields to partition

Sascha Hauer s.hauer at pengutronix.de
Thu Feb 13 05:25:33 EST 2014


struct mtd_info contains members which should not be copied
to the new partition, like for example the class_dev, so
only copy selected members of struct mtd_info to the partition.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 drivers/mtd/partition.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/drivers/mtd/partition.c b/drivers/mtd/partition.c
index 7431fc1..450f281 100644
--- a/drivers/mtd/partition.c
+++ b/drivers/mtd/partition.c
@@ -83,7 +83,18 @@ struct mtd_info *mtd_add_partition(struct mtd_info *mtd, off_t offset, size_t si
 
 	part = xzalloc(sizeof(*part));
 
-	memcpy(part, mtd, sizeof(*part));
+	part->type = mtd->type;
+	part->flags = mtd->flags;
+	part->parent = mtd->parent;
+	part->erasesize = mtd->erasesize;
+	part->writesize = mtd->writesize;
+	part->writebufsize = mtd->writebufsize;
+	part->oobsize = mtd->oobsize;
+	part->oobavail = mtd->oobavail;
+	part->bitflip_threshold = mtd->bitflip_threshold;
+	part->ecclayout = mtd->ecclayout;
+	part->ecc_strength = mtd->ecc_strength;
+	part->subpage_sft = mtd->subpage_sft;
 
 	/*
 	 * find the number of eraseregions the partition includes.
-- 
1.8.5.3




More information about the barebox mailing list