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

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
...@@ -166,6 +166,7 @@ static int __devinit socrates_nand_probe(struct platform_device *ofdev) ...@@ -166,6 +166,7 @@ static int __devinit socrates_nand_probe(struct platform_device *ofdev)
int res; int res;
struct mtd_partition *partitions = NULL; struct mtd_partition *partitions = NULL;
int num_partitions = 0; int num_partitions = 0;
struct mtd_part_parser_data ppdata;
/* Allocate memory for the device structure (and zero it) */ /* Allocate memory for the device structure (and zero it) */
host = kzalloc(sizeof(struct socrates_nand_host), GFP_KERNEL); host = kzalloc(sizeof(struct socrates_nand_host), GFP_KERNEL);
...@@ -191,6 +192,7 @@ static int __devinit socrates_nand_probe(struct platform_device *ofdev) ...@@ -191,6 +192,7 @@ static int __devinit socrates_nand_probe(struct platform_device *ofdev)
mtd->name = "socrates_nand"; mtd->name = "socrates_nand";
mtd->owner = THIS_MODULE; mtd->owner = THIS_MODULE;
mtd->dev.parent = &ofdev->dev; mtd->dev.parent = &ofdev->dev;
ppdata.of_node = ofdev->dev.of_node;
/*should never be accessed directly */ /*should never be accessed directly */
nand_chip->IO_ADDR_R = (void *)0xdeadbeef; nand_chip->IO_ADDR_R = (void *)0xdeadbeef;
...@@ -223,22 +225,12 @@ static int __devinit socrates_nand_probe(struct platform_device *ofdev) ...@@ -223,22 +225,12 @@ static int __devinit socrates_nand_probe(struct platform_device *ofdev)
goto out; goto out;
} }
num_partitions = parse_mtd_partitions(mtd, NULL, &partitions, 0); num_partitions = parse_mtd_partitions(mtd, NULL, &partitions, &ppdata);
if (num_partitions < 0) { if (num_partitions < 0) {
res = num_partitions; res = num_partitions;
goto release; 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); res = mtd_device_register(mtd, partitions, num_partitions);
if (!res) if (!res)
return res; return res;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment