public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH V2 1/8] mtd: docg3: Use devm_*() functions
@ 2013-12-20  7:31 Jingoo Han
  2013-12-20  7:32 ` [PATCH V2 2/8] mtd: ixp4xx: " Jingoo Han
                   ` (6 more replies)
  0 siblings, 7 replies; 11+ messages in thread
From: Jingoo Han @ 2013-12-20  7:31 UTC (permalink / raw)
  To: 'Brian Norris'
  Cc: linux-mtd, 'Robert Jarzmik', 'Jingoo Han',
	'David Woodhouse'

Use devm_*() functions to make cleanup paths simpler.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
---
No change since v1.

 drivers/mtd/devices/docg3.c |   20 ++++++--------------
 1 file changed, 6 insertions(+), 14 deletions(-)

diff --git a/drivers/mtd/devices/docg3.c b/drivers/mtd/devices/docg3.c
index 4f091c1..dd5e101 100644
--- a/drivers/mtd/devices/docg3.c
+++ b/drivers/mtd/devices/docg3.c
@@ -2047,21 +2047,21 @@ static int __init docg3_probe(struct platform_device *pdev)
 	ress = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	if (!ress) {
 		dev_err(dev, "No I/O memory resource defined\n");
-		goto noress;
+		return ret;
 	}
-	base = ioremap(ress->start, DOC_IOSPACE_SIZE);
+	base = devm_ioremap(dev, ress->start, DOC_IOSPACE_SIZE);
 
 	ret = -ENOMEM;
-	cascade = kzalloc(sizeof(*cascade) * DOC_MAX_NBFLOORS,
-			  GFP_KERNEL);
+	cascade = devm_kzalloc(dev, sizeof(*cascade) * DOC_MAX_NBFLOORS,
+			       GFP_KERNEL);
 	if (!cascade)
-		goto nomem1;
+		return ret;
 	cascade->base = base;
 	mutex_init(&cascade->lock);
 	cascade->bch = init_bch(DOC_ECC_BCH_M, DOC_ECC_BCH_T,
 			     DOC_ECC_BCH_PRIMPOLY);
 	if (!cascade->bch)
-		goto nomem2;
+		return ret;
 
 	for (floor = 0; floor < DOC_MAX_NBFLOORS; floor++) {
 		mtd = doc_probe_device(cascade, floor, dev);
@@ -2101,11 +2101,6 @@ err_probe:
 	for (floor = 0; floor < DOC_MAX_NBFLOORS; floor++)
 		if (cascade->floors[floor])
 			doc_release_device(cascade->floors[floor]);
-nomem2:
-	kfree(cascade);
-nomem1:
-	iounmap(base);
-noress:
 	return ret;
 }
 
@@ -2119,7 +2114,6 @@ static int __exit docg3_release(struct platform_device *pdev)
 {
 	struct docg3_cascade *cascade = platform_get_drvdata(pdev);
 	struct docg3 *docg3 = cascade->floors[0]->priv;
-	void __iomem *base = cascade->base;
 	int floor;
 
 	doc_unregister_sysfs(pdev, cascade);
@@ -2129,8 +2123,6 @@ static int __exit docg3_release(struct platform_device *pdev)
 			doc_release_device(cascade->floors[floor]);
 
 	free_bch(docg3->cascade->bch);
-	kfree(cascade);
-	iounmap(base);
 	return 0;
 }
 
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2013-12-26  1:25 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-20  7:31 [PATCH V2 1/8] mtd: docg3: Use devm_*() functions Jingoo Han
2013-12-20  7:32 ` [PATCH V2 2/8] mtd: ixp4xx: " Jingoo Han
2013-12-20  7:32 ` [PATCH V2 3/8] mtd: lantiq-flash: Use devm_kzalloc() Jingoo Han
2013-12-20  8:41   ` John Crispin
2013-12-20 15:38   ` Ezequiel Garcia
2013-12-26  1:24     ` Jingoo Han
2013-12-20  7:33 ` [PATCH V2 4/8] mtd: denali_dt: Use devm_clk_get() Jingoo Han
2013-12-20  7:33 ` [PATCH V2 5/8] mtd: lpc32xx_slc: Use devm_*() functions Jingoo Han
2013-12-20  7:34 ` [PATCH V2 6/8] mtd: nuc900_nand: " Jingoo Han
2013-12-20  7:34 ` [PATCH V2 7/8] mtd: plat_nand: " Jingoo Han
2013-12-20  7:35 ` [PATCH V2 8/8] mtd: tmio_nand: " Jingoo Han

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox