diff mbox

[14/43] mtd: physmap.c: use mtd_device_parse_register

Message ID 1307549152-7085-15-git-send-email-dbaryshkov@gmail.com
State Accepted
Headers show

Commit Message

Dmitry Baryshkov June 8, 2011, 4:05 p.m. UTC
Replace custom invocations of parse_mtd_partitions and mtd_device_register
with common mtd_device_parse_register call. This would bring: standard
handling of all errors, fallback to default partitions, etc.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
---
 drivers/mtd/maps/physmap.c |   23 ++---------------------
 1 files changed, 2 insertions(+), 21 deletions(-)

Comments

Artem Bityutskiy June 9, 2011, 7:32 a.m. UTC | #1
On Wed, 2011-06-08 at 20:05 +0400, Dmitry Eremin-Solenikov wrote:
> -	if (physmap_data->nr_parts) {
> -		printk(KERN_NOTICE "Using physmap partition information\n");
> -		mtd_device_register(info->cmtd, physmap_data->parts,
> -				    physmap_data->nr_parts);
> -		return 0;
> -	}
> -
> -	mtd_device_register(info->cmtd, NULL, 0);
> -
> +	mtd_device_parse_register(info->cmtd, part_probe_types, 0,
> +			physmap_data->parts, physmap_data->nr_parts);

Same here.
diff mbox

Patch

diff --git a/drivers/mtd/maps/physmap.c b/drivers/mtd/maps/physmap.c
index 2174d10..256f787 100644
--- a/drivers/mtd/maps/physmap.c
+++ b/drivers/mtd/maps/physmap.c
@@ -27,8 +27,6 @@  struct physmap_flash_info {
 	struct mtd_info		*mtd[MAX_RESOURCES];
 	struct mtd_info		*cmtd;
 	struct map_info		map[MAX_RESOURCES];
-	int			nr_parts;
-	struct mtd_partition	*parts;
 };
 
 static int physmap_flash_remove(struct platform_device *dev)
@@ -46,8 +44,6 @@  static int physmap_flash_remove(struct platform_device *dev)
 
 	if (info->cmtd) {
 		mtd_device_unregister(info->cmtd);
-		if (info->nr_parts)
-			kfree(info->parts);
 		if (info->cmtd != info->mtd[0])
 			mtd_concat_destroy(info->cmtd);
 	}
@@ -175,23 +171,8 @@  static int physmap_flash_probe(struct platform_device *dev)
 	if (err)
 		goto err_out;
 
-	err = parse_mtd_partitions(info->cmtd, part_probe_types,
-				   &info->parts, 0);
-	if (err > 0) {
-		mtd_device_register(info->cmtd, info->parts, err);
-		info->nr_parts = err;
-		return 0;
-	}
-
-	if (physmap_data->nr_parts) {
-		printk(KERN_NOTICE "Using physmap partition information\n");
-		mtd_device_register(info->cmtd, physmap_data->parts,
-				    physmap_data->nr_parts);
-		return 0;
-	}
-
-	mtd_device_register(info->cmtd, NULL, 0);
-
+	mtd_device_parse_register(info->cmtd, part_probe_types, 0,
+			physmap_data->parts, physmap_data->nr_parts);
 	return 0;
 
 err_out: