From patchwork Thu Dec 26 01:45: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: 305156 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 B0B0F2C009C for ; Thu, 26 Dec 2013 12:46:00 +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 1Vw01L-0008CA-Of; Thu, 26 Dec 2013 01:45:56 +0000 Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1Vw01K-0002KB-48; Thu, 26 Dec 2013 01:45:54 +0000 Received: from mailout3.samsung.com ([203.254.224.33]) by merlin.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1Vw01H-0002IF-Uj for linux-mtd@lists.infradead.org; Thu, 26 Dec 2013 01:45:52 +0000 Received: from epcpsbgr2.samsung.com (u142.gpu120.samsung.co.kr [203.254.230.142]) by mailout3.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MYE00C4X4VT34B0@mailout3.samsung.com> for linux-mtd@lists.infradead.org; Thu, 26 Dec 2013 10:45:29 +0900 (KST) Received: from epcpsbgm1.samsung.com ( [203.254.230.49]) by epcpsbgr2.samsung.com (EPCPMTA) with SMTP id FD.E4.09028.93A8BB25; Thu, 26 Dec 2013 10:45:29 +0900 (KST) X-AuditID: cbfee68e-b7f566d000002344-ad-52bb8a39c973 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id C2.CB.29263.93A8BB25; Thu, 26 Dec 2013 10:45:29 +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 <0MYE0036T4VTIW20@mmp1.samsung.com>; Thu, 26 Dec 2013 10:45:29 +0900 (KST) From: Jingoo Han To: 'Brian Norris' References: <007901cf01db$8362f580$8a28e080$%han@samsung.com> In-reply-to: <007901cf01db$8362f580$8a28e080$%han@samsung.com> Subject: [PATCH V3 7/8] mtd: plat_nand: Use devm_*() functions Date: Thu, 26 Dec 2013 10:45:29 +0900 Message-id: <007f01cf01dc$28112980$78337c80$%han@samsung.com> MIME-version: 1.0 X-Mailer: Microsoft Office Outlook 12.0 Thread-index: Ac8B24NMnmT2jqUVQHWbCuObShK78AAAI9CA Content-language: ko x-cr-hashedpuzzle: As/F JvjQ KIXb OB98 Pc5D QaMx U3ck Vtau gKxh mxAU m6Z/ wH04 w/j2 xjIp y/KD 1+LJ; 5; YwBvAG0AcAB1AHQAZQByAHMAZgBvAHIAcABlAGEAYwBlAEAAZwBtAGEAaQBsAC4AYwBvAG0AOwBkAHcAbQB3ADIAQABpAG4AZgByAGEAZABlAGEAZAAuAG8AcgBnADsAagBnADEALgBoAGEAbgBAAHMAYQBtAHMAdQBuAGcALgBjAG8AbQA7AGwAaQBuAHUAeAAtAG0AdABkAEAAbABpAHMAdABzAC4AaQBuAGYAcgBhAGQAZQBhAGQALgBvAHIAZwA7AHYAaQB0AGEAbAB5AHcAbwBvAGwAQABnAG0AYQBpAGwALgBjAG8AbQA=; Sosha1_v1; 7; {C2D9B634-69CE-4A8F-A86A-56EF7061F06B}; agBnADEALgBoAGEAbgBAAHMAYQBtAHMAdQBuAGcALgBjAG8AbQA=; Thu, 26 Dec 2013 01:45:21 GMT; WwBQAEEAVABDAEgAIABWADMAIAA3AC8AOABdACAAbQB0AGQAOgAgAHAAbABhAHQAXwBuAGEAbgBkADoAIABVAHMAZQAgAGQAZQB2AG0AXwAqACgAKQAgAGYAdQBuAGMAdABpAG8AbgBzAA== x-cr-puzzleid: {C2D9B634-69CE-4A8F-A86A-56EF7061F06B} X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrJIsWRmVeSWpSXmKPExsVy+t8zQ13Lrt1BBs0/tC2OXFjLbDFx5WRm i8sLL7Fa7G5axm7xdfMeFgdWj52z7rJ7bF6h5bF5Sb1H35ZVjAEsUVw2Kak5mWWpRfp2CVwZ PeeXsRXsE6zYdOQgewPjYb4uRg4OCQETiZbtzl2MnECmmMSFe+vZuhi5OIQEljFK9HZ2sUAk TCTur1/NCpFYxChx+dAzKOcXo8SCc4vBqtgE1CS+fDnMDjJVRMBA4sebTJAaZoFpjBInNy5k BqkRErCV+LR+IyuIzSlgJ3Gh6Ss7iC0MZP9+9RNsDouAqsTE7q1gcV6g+gutF5kgbEGJH5Pv gdUwC2hJrN95nAnClpfYvOYtM8Q36hKP/uqChEUEjCR2dEyHKheR2PfiHSPIPRICB1glns94 xAhRbypxYFc1RPwju8SBF1vYIG4QkPg2+RALRI2sxKYDzJCAkJQ4uOIGywRGqVlILpqF5KJZ SC6ahWT1AkaWVYyiqQXJBcVJ6UVGesWJucWleel6yfm5mxgh0dy3g/HmAetDjMlA6ycyS4km 5wOTQV5JvKGxmZGFqYmpsZG5pRlpwkrivIseJgUJCaQnlqRmp6YWpBbFF5XmpBYfYmTi4JRq YHR/8eq+9LoC8fw9uqvEluiuyF/cPuUpR2H8Mu+aefzxbyx+aIk/eD734hqhXQ5fJZanreQ2 Pd+0dYr3j//xm7dvMt+3v+NVmXNC02U+3Z2y/HdEl6ZxL1px9AJftuxt+U8mvPN5JSu9fT+I Nec6aKycmLuycvLRH6p6XXaCMbaenCu8X909v1GJpTgj0VCLuag4EQALPY/n/AIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrOKsWRmVeSWpSXmKPExsVy+t9jAV3Lrt1BBr2d6hZHLqxltpi4cjKz xeWFl1gtdjctY7f4unkPiwOrx85Zd9k9Nq/Q8ti8pN6jb8sqxgCWqAZGm4zUxJTUIoXUvOT8 lMy8dFsl7+B453hTMwNDXUNLC3MlhbzE3FRbJRefAF23zBygvUoKZYk5pUChgMTiYiV9O0wT QkPcdC1gGiN0fUOC4HqMDNBAwjrGjJ7zy9gK9glWbDpykL2B8TBfFyMnh4SAicT99atZIWwx iQv31rN1MXJxCAksYpS4fOgZK4Tzi1FiwbnFLCBVbAJqEl++HGbvYuTgEBEwkPjxJhOkhllg GqPEyY0LmUFqhARsJT6t3wg2lVPATuJC01d2EFsYyP796ifYHBYBVYmJ3VvB4rxA9RdaLzJB 2IISPybfA6thFtCSWL/zOBOELS+xec1bZpC9EgLqEo/+6oKERQSMJHZ0TIcqF5HY9+IdI8g9 EgIHWCWez3jECFFvKnFgV/UERpFZSDbMQrJhFpINs5CMWsDIsopRNLUguaA4KT3XUK84Mbe4 NC9dLzk/dxMjOFk8k9rBuLLB4hCjAAejEg9vh+7uICHWxLLiytxDjBIczEoivIFNQCHelMTK qtSi/Pii0pzU4kOMycAAmMgsJZqcD0xkeSXxhsYmZkaWRmYWRibm5qQJK4nzHmi1DhQSSE8s Sc1OTS1ILYLZwsTBKdXAWD7p4OGPF40utfNv7P8v+MPyArfNn4lN6iHhTeYN7+4Ge874cTlE XyTinPZS1g9a93ineDU15uTIC7MGnNwoO7shWnqDVojL13pulTXpsX+bXeNz/qy4EOo91Zh/ gcLd2suR2eVthyuEzB07W5jXMWyd8/hWzh6NsJnB0iqLc/S1zzvri+5QYinOSDTUYi4qTgQA fwxjOFoDAAA= 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-20131225_204552_260365_12B424C8 X-CRM114-Status: GOOD ( 10.60 ) X-Spam-Score: -7.5 (-------) X-Spam-Report: SpamAssassin version 3.3.2 on merlin.infradead.org summary: Content analysis details: (-7.5 points) pts rule name description ---- ---------------------- -------------------------------------------------- -5.0 RCVD_IN_DNSWL_HI RBL: Sender listed at http://www.dnswl.org/, high trust [203.254.224.33 listed in list.dnswl.org] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.6 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 --- No change since v2. 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; }