From patchwork Fri Dec 20 07:32:41 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jingoo Han X-Patchwork-Id: 303924 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from casper.infradead.org (unknown [IPv6:2001:770:15f::2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 6CD282C00D2 for ; Fri, 20 Dec 2013 18:33:19 +1100 (EST) Received: from merlin.infradead.org ([2001:4978:20e::2]) by casper.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1Vtua8-0006TK-It; Fri, 20 Dec 2013 07:33:12 +0000 Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1Vtua6-000109-VO; Fri, 20 Dec 2013 07:33:10 +0000 Received: from mailout4.samsung.com ([203.254.224.34]) by merlin.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1Vtua3-0000yw-Ek for linux-mtd@lists.infradead.org; Fri, 20 Dec 2013 07:33:08 +0000 Received: from epcpsbgr3.samsung.com (u143.gpu120.samsung.co.kr [203.254.230.143]) by mailout4.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MY3000KVGYJBXE0@mailout4.samsung.com> for linux-mtd@lists.infradead.org; Fri, 20 Dec 2013 16:32:43 +0900 (KST) Received: from epcpsbgm1.samsung.com ( [203.254.230.51]) by epcpsbgr3.samsung.com (EPCPMTA) with SMTP id 56.27.10092.992F3B25; Fri, 20 Dec 2013 16:32:41 +0900 (KST) X-AuditID: cbfee68f-b7f156d00000276c-33-52b3f299b139 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id 8F.18.29263.992F3B25; Fri, 20 Dec 2013 16:32:41 +0900 (KST) Received: from DOJG1HAN03 ([12.23.120.99]) by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MY300JA1GYHCA10@mmp1.samsung.com>; Fri, 20 Dec 2013 16:32:41 +0900 (KST) From: Jingoo Han To: 'Brian Norris' References: <000d01cefd55$7e48a2a0$7ad9e7e0$%han@samsung.com> In-reply-to: <000d01cefd55$7e48a2a0$7ad9e7e0$%han@samsung.com> Subject: [PATCH V2 3/8] mtd: lantiq-flash: Use devm_kzalloc() Date: Fri, 20 Dec 2013 16:32:41 +0900 Message-id: <001001cefd55$aa828110$ff878330$%han@samsung.com> MIME-version: 1.0 X-Mailer: Microsoft Office Outlook 12.0 Thread-index: Ac79VX4zfOEDhlMqR4WYmWacubn25QAABctA Content-language: ko x-cr-hashedpuzzle: AK6n KLQW Nzzk VFJG VP9n YiPS bA8i dred gSDU gjGD jIkB tJ8D vMMU wf/M 0OmB 2mrl; 6; YgBsAG8AZwBpAGMAQABvAHAAZQBuAHcAcgB0AC4AbwByAGcAOwBjAG8AbQBwAHUAdABlAHIAcwBmAG8AcgBwAGUAYQBjAGUAQABnAG0AYQBpAGwALgBjAG8AbQA7AGQAdwBtAHcAMgBAAGkAbgBmAHIAYQBkAGUAYQBkAC4AbwByAGcAOwBqAGcAMQAuAGgAYQBuAEAAcwBhAG0AcwB1AG4AZwAuAGMAbwBtADsAbABpAG4AdQB4AC0AbQB0AGQAQABsAGkAcwB0AHMALgBpAG4AZgByAGEAZABlAGEAZAAuAG8AcgBnADsAdABoAG8AbQBhAHMALgBsAGEAbgBnAGUAcgBAAGwAYQBuAHQAaQBxAC4AYwBvAG0A; Sosha1_v1; 7; {CC33F28D-6BB8-4FF6-A7F1-92F35D3B0812}; agBnADEALgBoAGEAbgBAAHMAYQBtAHMAdQBuAGcALgBjAG8AbQA=; Fri, 20 Dec 2013 07:32:32 GMT; WwBQAEEAVABDAEgAIABWADIAIAAzAC8AOABdACAAbQB0AGQAOgAgAGwAYQBuAHQAaQBxAC0AZgBsAGEAcwBoADoAIABVAHMAZQAgAGQAZQB2AG0AXwBrAHoAYQBsAGwAbwBjACgAKQA= x-cr-puzzleid: {CC33F28D-6BB8-4FF6-A7F1-92F35D3B0812} X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrCIsWRmVeSWpSXmKPExsVy+t8zY92ZnzYHGVx/YGNxsvkGo8WRC2uZ LSaunMxscXnhJVaL3U3L2C02dpc5sHnsnHWX3WPzCi2PDVM+sHpsXlLvsWVxhkffllWMAWxR XDYpqTmZZalF+nYJXBndTTuYC74JVVyd3cDSwHiev4uRk0NCwETiys29bBC2mMSFe+uBbC4O IYFljBJ3Zi5lhil6eOEIE0RiEaPEkd6VYB1CAr8YJaYcSwex2QTUJL58OczexcjBISJgIPHj TSZImFngMKPEi+v+EOW2EufOPmIHsTkF7CSWLV3GAmILA8Wb/p8DG8kioCoxeX472F5eoHj3 tNOsELagxI/J91ggZmpJrN95nAnClpfYvOYtM8haCQF1iUd/dbsY2YEuMJI4XwZRICKx78U7 RpDjJQR+sEpMXLmeBeIrU4kb65+xQSRaOSS2PtvPDHGCgMS3yYdYIEbKSmw6AA0FSYmDK26w TGCUmoXkoFlIDpqF5KBZSHYvYGRZxSiaWpBcUJyUXmSsV5yYW1yal66XnJ+7iRES4/07GO8e sD7EmAy0fiKzlGhyPjBF5JXEGxqbGVmYmpgaG5lbmpEmrCTOe/9hUpCQQHpiSWp2ampBalF8 UWlOavEhRiYOTqkGxorU55t3qE+70C4dkH2wNeytRv2trUGyF5qfHzV4NGnh4kWPI89rrfga U1TuLiIS6ebZny55dQ3f9TuX4/+7Bt5s/rf5Q3Cj+u1Q9oenrVc9+XJkbZaHUuMOrX1RkQcD f8wRCMgN4ZgkJ353xZ6VdftPOeRIhc4+f4+D9/ZWzj+sMq9VVk9/eFKJpTgj0VCLuag4EQDI y2wYBwMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrIKsWRmVeSWpSXmKPExsVy+t9jAd2ZnzYHGWzcamFxsvkGo8WRC2uZ LSaunMxscXnhJVaL3U3L2C02dpc5sHnsnHWX3WPzCi2PDVM+sHpsXlLvsWVxhkffllWMAWxR DYw2GamJKalFCql5yfkpmXnptkrewfHO8aZmBoa6hpYW5koKeYm5qbZKLj4Bum6ZOUBHKCmU JeaUAoUCEouLlfTtME0IDXHTtYBpjND1DQmC6zEyQAMJ6xgzupt2MBd8E6q4OruBpYHxPH8X IyeHhICJxMMLR5ggbDGJC/fWs3UxcnEICSxilDjSu5INJCEk8ItRYsqxdBCbTUBN4suXw+xd jBwcIgIGEj/eZIKEmQUOM0q8uO4PUW4rce7sI3YQm1PATmLZ0mUsILYwULzp/zmwkSwCqhKT 57czg9i8QPHuaadZIWxBiR+T77FAzNSSWL/zOBOELS+xec1bZpC1EgLqEo/+6nYxsgNdYCRx vgyiQERi34t3jCDHSwj8YJWYuHI9C8RXphI31j9jm8AoMgvJgllIFsxCsmAWklkLGFlWMYqm FiQXFCel5xrqFSfmFpfmpesl5+duYgQnkGdSOxhXNlgcYhTgYFTi4W2w3RwkxJpYVlyZe4hR goNZSYSX4zlQiDclsbIqtSg/vqg0J7X4EGMy0P8TmaVEk/OByS2vJN7Q2MTMyNLIzMLIxNyc NGElcd4DrdaBQgLpiSWp2ampBalFMFuYODilGhin6jG3TC76dDH3RgrbbkGDdH3ntd++Pplm Gpcs0f1Ae/kM018xtW7/vlTLNb6zmxUSd2Nt5M81vYHbV85Um/qQMUGCYybrN3EP9b7QUNMN iYtszeQ2v5KMTmAVmvr90fZfuqFqlZ67xFL+LHwfpf5xl0yV7GJWP2bGXMkt/7Lu7itxTXok sFiJpTgj0VCLuag4EQAATg+1ZAMAAA== DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20131220_023307_761071_DAE26C57 X-CRM114-Status: UNSURE ( 9.51 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -7.4 (-------) X-Spam-Report: SpamAssassin version 3.3.2 on merlin.infradead.org summary: Content analysis details: (-7.4 points) pts rule name description ---- ---------------------- -------------------------------------------------- -5.0 RCVD_IN_DNSWL_HI RBL: Sender listed at http://www.dnswl.org/, high trust [203.254.224.34 listed in list.dnswl.org] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.5 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] Cc: linux-mtd@lists.infradead.org, 'Jingoo Han' , 'David Woodhouse' , 'John Crispin' , 'Thomas Langer' X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Use devm_kzalloc() to make cleanup paths simpler. Signed-off-by: Jingoo Han Acked-by: John Crispin --- Change since v1 - Remove unnecessary goto labels. drivers/mtd/maps/lantiq-flash.c | 31 ++++++++++--------------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/drivers/mtd/maps/lantiq-flash.c b/drivers/mtd/maps/lantiq-flash.c index d7ac65d..45a7ac7 100644 --- a/drivers/mtd/maps/lantiq-flash.c +++ b/drivers/mtd/maps/lantiq-flash.c @@ -123,24 +123,22 @@ ltq_mtd_probe(struct platform_device *pdev) return -ENODEV; } - ltq_mtd = kzalloc(sizeof(struct ltq_mtd), GFP_KERNEL); + ltq_mtd = devm_kzalloc(&pdev->dev, sizeof(struct ltq_mtd), GFP_KERNEL); platform_set_drvdata(pdev, ltq_mtd); ltq_mtd->res = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!ltq_mtd->res) { dev_err(&pdev->dev, "failed to get memory resource\n"); - err = -ENOENT; - goto err_out; + return -ENOENT; } - ltq_mtd->map = kzalloc(sizeof(struct map_info), GFP_KERNEL); + ltq_mtd->map = devm_kzalloc(&pdev->dev, sizeof(struct map_info), + GFP_KERNEL); ltq_mtd->map->phys = ltq_mtd->res->start; ltq_mtd->map->size = resource_size(ltq_mtd->res); ltq_mtd->map->virt = devm_ioremap_resource(&pdev->dev, ltq_mtd->res); - if (IS_ERR(ltq_mtd->map->virt)) { - err = PTR_ERR(ltq_mtd->map->virt); - goto err_out; - } + if (IS_ERR(ltq_mtd->map->virt)) + return PTR_ERR(ltq_mtd->map->virt); ltq_mtd->map->name = ltq_map_name; ltq_mtd->map->bankwidth = 2; @@ -155,8 +153,7 @@ ltq_mtd_probe(struct platform_device *pdev) if (!ltq_mtd->mtd) { dev_err(&pdev->dev, "probing failed\n"); - err = -ENXIO; - goto err_free; + return -ENXIO; } ltq_mtd->mtd->owner = THIS_MODULE; @@ -177,10 +174,6 @@ ltq_mtd_probe(struct platform_device *pdev) err_destroy: map_destroy(ltq_mtd->mtd); -err_free: - kfree(ltq_mtd->map); -err_out: - kfree(ltq_mtd); return err; } @@ -189,13 +182,9 @@ ltq_mtd_remove(struct platform_device *pdev) { struct ltq_mtd *ltq_mtd = platform_get_drvdata(pdev); - if (ltq_mtd) { - if (ltq_mtd->mtd) { - mtd_device_unregister(ltq_mtd->mtd); - map_destroy(ltq_mtd->mtd); - } - kfree(ltq_mtd->map); - kfree(ltq_mtd); + if (ltq_mtd && ltq_mtd->mtd) { + mtd_device_unregister(ltq_mtd->mtd); + map_destroy(ltq_mtd->mtd); } return 0; }