[MTD] [NAND] S3C2410: Allow commandline partition processing
This patch allows commandline partition processing to work with the s3c2410 NAND platform driver. Signed-off-by: Andy Green <andy@warcat.com> Signed-off-by: Nelson Castillo <arhuaco@freaks-unidos.net> [ben-linux@fluff.org: Change andy@openmoko.com to andy@warmcat.com] Signed-off-by: Ben Dooks <ben-linux@fluff.org>
This commit is contained in:
parent
ae7304e554
commit
ed27f02870
1 changed files with 16 additions and 2 deletions
|
@ -699,17 +699,31 @@ 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 && set->partitions != NULL) {
|
||||
return add_mtd_partitions(&mtd->mtd, set->partitions, set->nr_partitions);
|
||||
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) {
|
||||
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);
|
||||
}
|
||||
#else
|
||||
|
|
Loading…
Reference in a new issue