From patchwork Fri Dec 20 05:04:29 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jingoo Han X-Patchwork-Id: 303884 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 00B2F2C02A6 for ; Fri, 20 Dec 2013 16:05:09 +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 1VtsGh-0000yk-6i; Fri, 20 Dec 2013 05:04:59 +0000 Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1VtsGf-0007H6-Hr; Fri, 20 Dec 2013 05:04:57 +0000 Received: from mailout1.samsung.com ([203.254.224.24]) by merlin.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1VtsGd-0007GW-3W for linux-mtd@lists.infradead.org; Fri, 20 Dec 2013 05:04:56 +0000 Received: from epcpsbgr5.samsung.com (u145.gpu120.samsung.co.kr [203.254.230.145]) by mailout1.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MY3001S1A3KMXD0@mailout1.samsung.com> for linux-mtd@lists.infradead.org; Fri, 20 Dec 2013 14:04:32 +0900 (KST) Received: from epcpsbgm2.samsung.com ( [203.254.230.48]) by epcpsbgr5.samsung.com (EPCPMTA) with SMTP id D2.9B.14803.EDFC3B25; Fri, 20 Dec 2013 14:04:30 +0900 (KST) X-AuditID: cbfee691-b7efc6d0000039d3-ec-52b3cfde84b1 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm2.samsung.com (EPCPMTA) with SMTP id 22.8C.28157.DDFC3B25; Fri, 20 Dec 2013 14:04:30 +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 <0MY300BPJA3HTY10@mmp1.samsung.com>; Fri, 20 Dec 2013 14:04:29 +0900 (KST) From: Jingoo Han To: 'Brian Norris' References: <000f01cefd3f$60ef8540$22ce8fc0$%han@samsung.com> In-reply-to: <000f01cefd3f$60ef8540$22ce8fc0$%han@samsung.com> Subject: [PATCH 7/8] mtd: plat_nand: Use devm_*() functions Date: Fri, 20 Dec 2013 14:04:29 +0900 Message-id: <001601cefd40$f6b3dd00$e41b9700$%han@samsung.com> MIME-version: 1.0 X-Mailer: Microsoft Office Outlook 12.0 Thread-index: Ac79P2CnwVJoZjOVTtCwLCyw4gPPiAAAUeRw Content-language: ko x-cr-hashedpuzzle: DKFN FrUN MGty PEB3 Plty TVfA e2SF if/T ndHd qwyK u/fk xWs3 y7IR 0AKi 2mXh 37xA; 5; YwBvAG0AcAB1AHQAZQByAHMAZgBvAHIAcABlAGEAYwBlAEAAZwBtAGEAaQBsAC4AYwBvAG0AOwBkAHcAbQB3ADIAQABpAG4AZgByAGEAZABlAGEAZAAuAG8AcgBnADsAagBnADEALgBoAGEAbgBAAHMAYQBtAHMAdQBuAGcALgBjAG8AbQA7AGwAaQBuAHUAeAAtAG0AdABkAEAAbABpAHMAdABzAC4AaQBuAGYAcgBhAGQAZQBhAGQALgBvAHIAZwA7AHYAaQB0AGEAbAB5AHcAbwBvAGwAQABnAG0AYQBpAGwALgBjAG8AbQA=; Sosha1_v1; 7; {B1913FE7-0C53-46C7-A372-4AD686830B45}; agBnADEALgBoAGEAbgBAAHMAYQBtAHMAdQBuAGcALgBjAG8AbQA=; Fri, 20 Dec 2013 05:04:21 GMT; WwBQAEEAVABDAEgAIAA3AC8AOABdACAAbQB0AGQAOgAgAHAAbABhAHQAXwBuAGEAbgBkADoAIABVAHMAZQAgAGQAZQB2AG0AXwAqACgAKQAgAGYAdQBuAGMAdABpAG8AbgBzAA== x-cr-puzzleid: {B1913FE7-0C53-46C7-A372-4AD686830B45} X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrBIsWRmVeSWpSXmKPExsVy+t8zA9175zcHGbw7yW5x5MJaZouJKycz W1xeeInVYnfTMnaLr5v3sDiweuycdZfdY/MKLY/NS+o9+rasYgxgieKySUnNySxLLdK3S+DK WNL4nalguWDFr8832BoYN/N1MXJySAiYSBz+PJcRwhaTuHBvPVsXIxeHkMAyRoknx/eywBR9 2rCdCcQWEljEKHHong1E0S9GiUWHu5lBEmwCahJfvhxm72Lk4BARMJD48SYTpIZZYBqjxMmN C5lB4kICthLPr2SDlHMK2ElMfHUDbL6wgLXEjunr2EBsFgFViQtrpoPt4gUq39v5khnCFpT4 MfkeWD2zgJbE+p3HmSBseYnNa96CjZcQUJd49FcXJCwiYCRx/uJpdogSEYl9L94xgpwjIbCD VaJt5homiL9MJQ6/2AP1/Fd2ibY7XhA3CEh8m3yIBWKmrMSmA8wQJZISB1fcYJnAKDULyUWz kFw0C8lFs5CsXsDIsopRNLUguaA4Kb3IVK84Mbe4NC9dLzk/dxMjJJYn7mC8f8D6EGMy0PqJ zFKiyfnAVJBXEm9obGZkYWpiamxkbmlGmrCSOG/6o6QgIYH0xJLU7NTUgtSi+KLSnNTiQ4xM HJxSDYw1FW81OCRP9SpKs3+a/3Rby/tDvFteSc2+c2rGmxXf1YK6uUp1OcKFfkUtfriT59E1 +UPFcs7f9M9rvi7wCapVuX+u7se3KysjqrKaKxOOlB+5kHzSLye4sOBVppLA242ruK7NcCwt TV5wf97L7zwTF/QG/Gk0XPuaczfzhvoF89ln7PzzVeiIEktxRqKhFnNRcSIAU/7zOPsCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrGKsWRmVeSWpSXmKPExsVy+t9jAd175zcHGfQdZbY4cmEts8XElZOZ LS4vvMRqsbtpGbvF1817WBxYPXbOusvusXmFlsfmJfUefVtWMQawRDUw2mSkJqakFimk5iXn p2TmpdsqeQfHO8ebmhkY6hpaWpgrKeQl5qbaKrn4BOi6ZeYA7VVSKEvMKQUKBSQWFyvp22Ga EBripmsB0xih6xsSBNdjZIAGEtYxZixp/M5UsFyw4tfnG2wNjJv5uhg5OSQETCQ+bdjOBGGL SVy4t54NxBYSWMQoceieTRcjF5D9i1Fi0eFuZpAEm4CaxJcvh9m7GDk4RAQMJH68yQSpYRaY xihxcuNCZpC4kICtxPMr2SDlnAJ2EhNf3WABsYUFrCV2TF8HNp9FQFXiwprpYHt5gcr3dr5k hrAFJX5MvgdWzyygJbF+53EmCFteYvOat2DjJQTUJR791QUJiwgYSZy/eJodokREYt+Ld4wg 50gI7GCVaJu5BuovU4nDL/YwTmAUmYVkxSwkK2YhWTELyawFjCyrGEVTC5ILipPSc430ihNz i0vz0vWS83M3MYJTxTPpHYyrGiwOMQpwMCrx8Bbobw4SYk0sK67MPcQowcGsJMIbfxAoxJuS WFmVWpQfX1Sak1p8iDEZGAITmaVEk/OBaSyvJN7Q2MTMyNLIzMLIxNycNGElcd6DrdaBQgLp iSWp2ampBalFMFuYODilGhhLDtsXP9vNbr2+ataF0/9+ir1oenH195Ob3fYrFxypXMw30aH4 /6cT209L/3xxN0fimfwK+b96d25eXfwq1aTivH7n3zgnHU+epH9TS4OyuuIf+fx566Fq/srl kbjYJhbjEzEvS3b93vBXQ2r+541Kz2M2/1o/89ikaRy7UvkDVxusL66KE+qTUWIpzkg01GIu Kk4EAJWYCZ1ZAwAA 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_000455_422289_7A59E8EA X-CRM114-Status: GOOD ( 10.58 ) 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.24 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' , 'Vitaly Wool' 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_*() functions to make cleanup paths simpler. Signed-off-by: Jingoo Han --- drivers/mtd/nand/plat_nand.c | 30 +++++------------------------- 1 file changed, 5 insertions(+), 25 deletions(-) diff --git a/drivers/mtd/nand/plat_nand.c b/drivers/mtd/nand/plat_nand.c index cad4cdc..7734f0e 100644 --- a/drivers/mtd/nand/plat_nand.c +++ b/drivers/mtd/nand/plat_nand.c @@ -52,25 +52,16 @@ static int plat_nand_probe(struct platform_device *pdev) return -ENXIO; /* Allocate memory for the device structure (and zero it) */ - data = kzalloc(sizeof(struct plat_nand_data), GFP_KERNEL); + data = devm_kzalloc(&pdev->dev, sizeof(struct plat_nand_data), + GFP_KERNEL); if (!data) { dev_err(&pdev->dev, "failed to allocate device structure.\n"); return -ENOMEM; } - if (!request_mem_region(res->start, resource_size(res), - dev_name(&pdev->dev))) { - dev_err(&pdev->dev, "request_mem_region failed\n"); - err = -EBUSY; - goto out_free; - } - - data->io_base = ioremap(res->start, resource_size(res)); - if (data->io_base == NULL) { - dev_err(&pdev->dev, "ioremap failed\n"); - err = -EIO; - goto out_release_io; - } + data->io_base = devm_ioremap_resource(&pdev->dev, res); + if (IS_ERR(data->io_base)) + return PTR_ERR(data->io_base); data->chip.priv = &data; data->mtd.priv = &data->chip; @@ -122,11 +113,6 @@ static int plat_nand_probe(struct platform_device *pdev) out: if (pdata->ctrl.remove) pdata->ctrl.remove(pdev); - iounmap(data->io_base); -out_release_io: - release_mem_region(res->start, resource_size(res)); -out_free: - kfree(data); return err; } @@ -137,16 +123,10 @@ static int plat_nand_remove(struct platform_device *pdev) { struct plat_nand_data *data = platform_get_drvdata(pdev); struct platform_nand_data *pdata = dev_get_platdata(&pdev->dev); - struct resource *res; - - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); nand_release(&data->mtd); if (pdata->ctrl.remove) pdata->ctrl.remove(pdev); - iounmap(data->io_base); - release_mem_region(res->start, resource_size(res)); - kfree(data); return 0; }