Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ed27f028 authored by Andy Green's avatar Andy Green Committed by Ben Dooks
Browse files

[MTD] [NAND] S3C2410: Allow commandline partition processing



This patch allows commandline partition processing to
work with the s3c2410 NAND platform driver.

Signed-off-by: default avatarAndy Green <andy@warcat.com>
Signed-off-by: default avatarNelson Castillo <arhuaco@freaks-unidos.net>
[ben-linux@fluff.org: Change andy@openmoko.com to andy@warmcat.com]
Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
parent ae7304e5
Loading
Loading
Loading
Loading
+16 −2
Original line number Diff line number Diff line
@@ -699,16 +699,30 @@ static int s3c24xx_nand_remove(struct platform_device *pdev)
}

#ifdef CONFIG_MTD_PARTITIONS
const char *part_probes[] = { "cmdlinepart", NULL };
static int s3c2410_nand_add_partition(struct s3c2410_nand_info *info,
				      struct s3c2410_nand_mtd *mtd,
				      struct s3c2410_nand_set *set)
{
	struct mtd_partition *part_info;
	int nr_part = 0;

	if (set == NULL)
		return add_mtd_device(&mtd->mtd);

	if (set->nr_partitions == 0) {
		mtd->mtd.name = set->name;
		nr_part = parse_mtd_partitions(&mtd->mtd, part_probes,
						&part_info, 0);
	} else {
		if (set->nr_partitions > 0 && set->partitions != NULL) {
		return add_mtd_partitions(&mtd->mtd, set->partitions, set->nr_partitions);
			nr_part = set->nr_partitions;
			part_info = set->partitions;
		}
	}

	if (nr_part > 0 && part_info)
		return add_mtd_partitions(&mtd->mtd, part_info, nr_part);

	return add_mtd_device(&mtd->mtd);
}