diff mbox

[18/44] mtd: rbtx4939-flash.c: use mtd_device_parse_register

Message ID 1307453803-31950-19-git-send-email-dbaryshkov@gmail.com
State Accepted
Headers show

Commit Message

Dmitry Baryshkov June 7, 2011, 1:36 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/rbtx4939-flash.c |   18 ++----------------
 1 files changed, 2 insertions(+), 16 deletions(-)

Comments

Atsushi Nemoto June 8, 2011, 1:50 p.m. UTC | #1
On Tue,  7 Jun 2011 17:36:17 +0400, Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> wrote:
> @@ -106,18 +102,8 @@ static int rbtx4939_flash_probe(struct platform_device *dev)
>  	info->mtd->owner = THIS_MODULE;
>  	if (err)
>  		goto err_out;
> -	err = parse_mtd_partitions(info->mtd, NULL, &info->parts, 0);
> -	if (err > 0) {
> -		mtd_device_register(info->mtd, info->parts, err);
> -		info->nr_parts = err;
> -		return 0;
> -	}
> -
> -	if (pdata->nr_parts) {
> -		pr_notice("Using rbtx4939 partition information\n");
> -		mtd_device_register(info->mtd, pdata->parts, pdata->nr_parts);
> -		return 0;
> -	}
> +	err = mtd_device_parse_register(info->mtd, NULL, 0,
> +			pdata->parts, pdata->nr_parts);
>  
>  	mtd_device_register(info->mtd, NULL, 0);
>  	return 0;

The last mtd_device_register() call should be removed too?

---
Atsushi Nemoto
Dmitry Baryshkov June 8, 2011, 2:07 p.m. UTC | #2
On 6/8/11, Atsushi Nemoto <anemo@mba.ocn.ne.jp> wrote:
> On Tue,  7 Jun 2011 17:36:17 +0400, Dmitry Eremin-Solenikov
> <dbaryshkov@gmail.com> wrote:
>> @@ -106,18 +102,8 @@ static int rbtx4939_flash_probe(struct
>> platform_device *dev)
>>  	info->mtd->owner = THIS_MODULE;
>>  	if (err)
>>  		goto err_out;
>> -	err = parse_mtd_partitions(info->mtd, NULL, &info->parts, 0);
>> -	if (err > 0) {
>> -		mtd_device_register(info->mtd, info->parts, err);
>> -		info->nr_parts = err;
>> -		return 0;
>> -	}
>> -
>> -	if (pdata->nr_parts) {
>> -		pr_notice("Using rbtx4939 partition information\n");
>> -		mtd_device_register(info->mtd, pdata->parts, pdata->nr_parts);
>> -		return 0;
>> -	}
>> +	err = mtd_device_parse_register(info->mtd, NULL, 0,
>> +			pdata->parts, pdata->nr_parts);
>>
>>  	mtd_device_register(info->mtd, NULL, 0);
>>  	return 0;
>
> The last mtd_device_register() call should be removed too?

Good catch, thanks!
diff mbox

Patch

diff --git a/drivers/mtd/maps/rbtx4939-flash.c b/drivers/mtd/maps/rbtx4939-flash.c
index 5d15b6b..95f816c 100644
--- a/drivers/mtd/maps/rbtx4939-flash.c
+++ b/drivers/mtd/maps/rbtx4939-flash.c
@@ -25,8 +25,6 @@ 
 struct rbtx4939_flash_info {
 	struct mtd_info *mtd;
 	struct map_info map;
-	int nr_parts;
-	struct mtd_partition *parts;
 };
 
 static int rbtx4939_flash_remove(struct platform_device *dev)
@@ -41,8 +39,6 @@  static int rbtx4939_flash_remove(struct platform_device *dev)
 	if (info->mtd) {
 		struct rbtx4939_flash_data *pdata = dev->dev.platform_data;
 
-		if (info->nr_parts)
-			kfree(info->parts);
 		mtd_device_unregister(info->mtd);
 		map_destroy(info->mtd);
 	}
@@ -106,18 +102,8 @@  static int rbtx4939_flash_probe(struct platform_device *dev)
 	info->mtd->owner = THIS_MODULE;
 	if (err)
 		goto err_out;
-	err = parse_mtd_partitions(info->mtd, NULL, &info->parts, 0);
-	if (err > 0) {
-		mtd_device_register(info->mtd, info->parts, err);
-		info->nr_parts = err;
-		return 0;
-	}
-
-	if (pdata->nr_parts) {
-		pr_notice("Using rbtx4939 partition information\n");
-		mtd_device_register(info->mtd, pdata->parts, pdata->nr_parts);
-		return 0;
-	}
+	err = mtd_device_parse_register(info->mtd, NULL, 0,
+			pdata->parts, pdata->nr_parts);
 
 	mtd_device_register(info->mtd, NULL, 0);
 	return 0;