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

Commit 2cd9ea52 authored by Dmitry Eremin-Solenikov's avatar Dmitry Eremin-Solenikov Committed by Artem Bityutskiy
Browse files

mtd: socrates_nand: use ofpart through generic parsing



Convert the driver to use ofpart partitions parsing through the generic
parse_mtd_partitions().

Signed-off-by: default avatarDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: default avatarArtem Bityutskiy <dedekind1@gmail.com>
parent 9d7948c5
Loading
Loading
Loading
Loading
+3 −11
Original line number Diff line number Diff line
@@ -166,6 +166,7 @@ static int __devinit socrates_nand_probe(struct platform_device *ofdev)
	int res;
	struct mtd_partition *partitions = NULL;
	int num_partitions = 0;
	struct mtd_part_parser_data ppdata;

	/* Allocate memory for the device structure (and zero it) */
	host = kzalloc(sizeof(struct socrates_nand_host), GFP_KERNEL);
@@ -191,6 +192,7 @@ static int __devinit socrates_nand_probe(struct platform_device *ofdev)
	mtd->name = "socrates_nand";
	mtd->owner = THIS_MODULE;
	mtd->dev.parent = &ofdev->dev;
	ppdata.of_node = ofdev->dev.of_node;

	/*should never be accessed directly */
	nand_chip->IO_ADDR_R = (void *)0xdeadbeef;
@@ -223,22 +225,12 @@ static int __devinit socrates_nand_probe(struct platform_device *ofdev)
		goto out;
	}

	num_partitions = parse_mtd_partitions(mtd, NULL, &partitions, 0);
	num_partitions = parse_mtd_partitions(mtd, NULL, &partitions, &ppdata);
	if (num_partitions < 0) {
		res = num_partitions;
		goto release;
	}

	if (num_partitions == 0) {
		num_partitions = of_mtd_parse_partitions(&ofdev->dev,
							 ofdev->dev.of_node,
							 &partitions);
		if (num_partitions < 0) {
			res = num_partitions;
			goto release;
		}
	}

	res = mtd_device_register(mtd, partitions, num_partitions);
	if (!res)
		return res;