[PATCH 2/2] mtd: socrates_nand: Use devm_kzalloc

Sachin Kamat sachin.kamat at linaro.org
Tue Oct 8 03:01:46 PDT 2013


devm_kzalloc is device managed and makes code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat at linaro.org>
---
 drivers/mtd/nand/socrates_nand.c |   10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/drivers/mtd/nand/socrates_nand.c b/drivers/mtd/nand/socrates_nand.c
index f44c7c8..e77da7e 100644
--- a/drivers/mtd/nand/socrates_nand.c
+++ b/drivers/mtd/nand/socrates_nand.c
@@ -149,17 +149,13 @@ static int socrates_nand_probe(struct platform_device *ofdev)
 	struct mtd_part_parser_data ppdata;
 
 	/* Allocate memory for the device structure (and zero it) */
-	host = kzalloc(sizeof(struct socrates_nand_host), GFP_KERNEL);
-	if (!host) {
-		printk(KERN_ERR
-		       "socrates_nand: failed to allocate device structure.\n");
+	host = devm_kzalloc(&ofdev->dev, sizeof(*host), GFP_KERNEL);
+	if (!host)
 		return -ENOMEM;
-	}
 
 	host->io_base = of_iomap(ofdev->dev.of_node, 0);
 	if (host->io_base == NULL) {
 		printk(KERN_ERR "socrates_nand: ioremap failed\n");
-		kfree(host);
 		return -EIO;
 	}
 
@@ -212,7 +208,6 @@ static int socrates_nand_probe(struct platform_device *ofdev)
 
 out:
 	iounmap(host->io_base);
-	kfree(host);
 	return res;
 }
 
@@ -227,7 +222,6 @@ static int socrates_nand_remove(struct platform_device *ofdev)
 	nand_release(mtd);
 
 	iounmap(host->io_base);
-	kfree(host);
 
 	return 0;
 }
-- 
1.7.9.5




More information about the linux-mtd mailing list