From patchwork Wed Dec 18 01:31:15 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jingoo Han X-Patchwork-Id: 3367151 X-Patchwork-Delegate: broonie@sirena.org.uk Return-Path: X-Original-To: patchwork-linux-spi@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id D5DD99F37A for ; Wed, 18 Dec 2013 01:31:23 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 100D6203AE for ; Wed, 18 Dec 2013 01:31:23 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 0D14220260 for ; Wed, 18 Dec 2013 01:31:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752086Ab3LRBbV (ORCPT ); Tue, 17 Dec 2013 20:31:21 -0500 Received: from mailout2.samsung.com ([203.254.224.25]:52288 "EHLO mailout2.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752049Ab3LRBbT (ORCPT ); Tue, 17 Dec 2013 20:31:19 -0500 Received: from epcpsbgr5.samsung.com (u145.gpu120.samsung.co.kr [203.254.230.145]) by mailout2.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MXZ00C0IAW30B60@mailout2.samsung.com> for linux-spi@vger.kernel.org; Wed, 18 Dec 2013 10:31:15 +0900 (KST) Received: from epcpsbgm2.samsung.com ( [203.254.230.49]) by epcpsbgr5.samsung.com (EPCPMTA) with SMTP id 75.75.06316.3EAF0B25; Wed, 18 Dec 2013 10:31:15 +0900 (KST) X-AuditID: cbfee691-b7fe66d0000018ac-d5-52b0fae3cc7c Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm2.samsung.com (EPCPMTA) with SMTP id BB.E8.20899.3EAF0B25; Wed, 18 Dec 2013 10:31:15 +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 <0MXZ002RPAW33000@mmp1.samsung.com>; Wed, 18 Dec 2013 10:31:15 +0900 (KST) From: Jingoo Han To: 'Mark Brown' Cc: linux-spi@vger.kernel.org, 'Gerhard Sittig' , 'Anatolij Gustschin' , 'Jingoo Han' References: <000801cef4c7$1b84a470$528ded50$%han@samsung.com> <000e01cef4c7$53d9e060$fb8da120$%han@samsung.com> <20131217225313.GT28455@sirena.org.uk> In-reply-to: <20131217225313.GT28455@sirena.org.uk> Subject: [PATCH V2] spi: mpc512x: Use devm_*() functions Date: Wed, 18 Dec 2013 10:31:15 +0900 Message-id: <007001cefb90$d7b07050$871150f0$%han@samsung.com> MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7bit X-Mailer: Microsoft Office Outlook 12.0 Thread-index: Ac77esdiKtJaHQ/GS76ObB+bpsoBMAAFeheg Content-language: ko X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrEIsWRmVeSWpSXmKPExsVy+t8zQ93HvzYEGbz7o2Sx/u4SRoupD5+w WfzZcZLV4vLCS6wWjR9vsjuwesybdYLFY9OqTjaPvi2rGD0+b5ILYInisklJzcksSy3St0vg ymh+cZ+xYL9gRfvxX6wNjBv4uhg5OSQETCSm713ODmGLSVy4t56ti5GLQ0hgGaPEhHd7mGCK juw8yQKRWMQoMfveBUaQhJDAL0aJHT9TQWw2ATWJL18OA03i4BARUJX4/8odpJ5ZoJNR4vyR d6wQ9bMYJY4fMACxOQWMJeYv3gu2QFjAQuLb9SVgM1mAeg/d2cICYvMK2ErMXX6KHcIWlPgx +R5YnFlAS2L9zuNMELa8xOY1b5lB9koIqEs8+qsLEhYRMJJ409QNVS4ise/FO0aQeyQEbrFL bJy/mgVil4DEt8mHWCB6ZSU2HWCG+FdS4uCKGywTGCVmIdk8C8nmWUg2z0KyYgEjyypG0dSC 5ILipPQiU73ixNzi0rx0veT83E2MkPicuIPx/gHrQ4zJQOsnMkuJJucD4zuvJN7Q2MzIwtTE 1NjI3NKMNGElcd70R0lBQgLpiSWp2ampBalF8UWlOanFhxiZODilGhiXei23WtzpOlm2+JOn pn2r9ZG151kP52rZBjot28B25Z94zbJphlkHGQNrGoPig5u+9BU2y+muWL30fXmAVF2uMCOT JG/mNzMbjuKWU2av3/6cv/svf8+ajpNL7BbqRS3dvfhUWrKcXvkfy+e2LK/uTuTjDTMqL9jk WZM8KXHBzqdfWGf8D1NiKc5INNRiLipOBACTbuq95QIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrPKsWRmVeSWpSXmKPExsVy+t9jAd3HvzYEGdxtlLNYf3cJo8XUh0/Y LP7sOMlqcXnhJVaLxo832R1YPebNOsHisWlVJ5tH35ZVjB6fN8kFsEQ1MNpkpCampBYppOYl 56dk5qXbKnkHxzvHm5oZGOoaWlqYKynkJeam2iq5+AToumXmAC1WUihLzCkFCgUkFhcr6dth mhAa4qZrAdMYoesbEgTXY2SABhLWMWY0v7jPWLBfsKL9+C/WBsYNfF2MnBwSAiYSR3aeZIGw xSQu3FvP1sXIxSEksIhRYva9C4wgCSGBX4wSO36mgthsAmoSX74cZu9i5OAQEVCV+P/KHaSe WaCTUeL8kXesEPWzGCWOHzAAsTkFjCXmL97LBGILC1hIfLu+BGwmC1DvoTtbwBbzCthKzF1+ ih3CFpT4MfkeWJxZQEti/c7jTBC2vMTmNW+ZQfZKCKhLPPqrCxIWETCSeNPUDVUuIrHvxTvG CYxCs5BMmoVk0iwkk2YhaVnAyLKKUTS1ILmgOCk910ivODG3uDQvXS85P3cTIzj6n0nvYFzV YHGIUYCDUYmHl2P2+iAh1sSy4srcQ4wSHMxKIrw7720IEuJNSaysSi3Kjy8qzUktPsSYDPTo RGYp0eR8YGLKK4k3NDYxM7I0MrMwMjE3J01YSZz3YKt1oJBAemJJanZqakFqEcwWJg5OqQbG yvJncq+Wcu/Tmbj4mKzEv287u1OScuq3VWk/KO8OPuXfPP3NBGfW/mnMLfF/NLduN/8habh+ 9xID7rvK2ZNFO43vn/rC0bPGscf1XbPUTLYteoXzRB3D37c9mb5SRmbJFLUm17asVCVzloVi omkv95ueN3F+OLvgiICk3Jf2M4adcvPvXuhUYinOSDTUYi4qTgQAUb2Zs0IDAAA= DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-spi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-spi@vger.kernel.org X-Spam-Status: No, score=-7.4 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Use devm_*() functions to make cleanup paths simpler. Signed-off-by: Jingoo Han --- Re-based on the latest for-next branch of spi tree. drivers/spi/spi-mpc512x-psc.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/drivers/spi/spi-mpc512x-psc.c b/drivers/spi/spi-mpc512x-psc.c index 8767658..46d2313 100644 --- a/drivers/spi/spi-mpc512x-psc.c +++ b/drivers/spi/spi-mpc512x-psc.c @@ -504,7 +504,7 @@ static int mpc512x_psc_spi_do_probe(struct device *dev, u32 regaddr, master->cleanup = mpc512x_psc_spi_cleanup; master->dev.of_node = dev->of_node; - tempp = ioremap(regaddr, size); + tempp = devm_ioremap(dev, regaddr, size); if (!tempp) { dev_err(dev, "could not ioremap I/O port range\n"); ret = -EFAULT; @@ -513,9 +513,8 @@ static int mpc512x_psc_spi_do_probe(struct device *dev, u32 regaddr, mps->psc = tempp; mps->fifo = (struct mpc512x_psc_fifo *)(tempp + sizeof(struct mpc52xx_psc)); - - ret = request_irq(mps->irq, mpc512x_psc_spi_isr, IRQF_SHARED, - "mpc512x-psc-spi", mps); + ret = devm_request_irq(dev, mps->irq, mpc512x_psc_spi_isr, IRQF_SHARED, + "mpc512x-psc-spi", mps); if (ret) goto free_master; init_completion(&mps->txisrdone); @@ -525,11 +524,11 @@ static int mpc512x_psc_spi_do_probe(struct device *dev, u32 regaddr, clk = devm_clk_get(dev, clk_name); if (IS_ERR(clk)) { ret = PTR_ERR(clk); - goto free_irq; + goto free_master; } ret = clk_prepare_enable(clk); if (ret) - goto free_irq; + goto free_master; mps->clk_mclk = clk; mps->mclk_rate = clk_get_rate(clk); @@ -545,11 +544,7 @@ static int mpc512x_psc_spi_do_probe(struct device *dev, u32 regaddr, free_clock: clk_disable_unprepare(mps->clk_mclk); -free_irq: - free_irq(mps->irq, mps); free_master: - if (mps->psc) - iounmap(mps->psc); spi_master_put(master); return ret; @@ -561,9 +556,6 @@ static int mpc512x_psc_spi_do_remove(struct device *dev) struct mpc512x_psc_spi *mps = spi_master_get_devdata(master); clk_disable_unprepare(mps->clk_mclk); - free_irq(mps->irq, mps); - if (mps->psc) - iounmap(mps->psc); return 0; }