From patchwork Sat Aug 16 00:46:44 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aaron Sierra X-Patchwork-Id: 380442 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2001:1868:205::9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id B442B140120 for ; Sat, 16 Aug 2014 10:51:31 +1000 (EST) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1XISBR-0003HW-Es; Sat, 16 Aug 2014 00:49:25 +0000 Received: from xes-mad.com ([216.165.139.218]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1XISBL-0003Fz-Pn; Sat, 16 Aug 2014 00:49:20 +0000 Received: from zimbra.xes-mad.com (zimbra.xes-mad.com [10.52.0.127]) by xes-mad.com (8.13.8/8.13.8) with ESMTP id s7G0kjZZ024531; Fri, 15 Aug 2014 19:46:45 -0500 Date: Fri, 15 Aug 2014 19:46:44 -0500 (CDT) From: Aaron Sierra To: David Woodhouse , Brian Norris Message-ID: <2056273149.70335.1408150004992.JavaMail.zimbra@xes-inc.com> Subject: [PATCH 1/2] mtd: fsl_ifc_nand: Use devm_* throughout driver MIME-Version: 1.0 X-Originating-IP: [10.52.16.65] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - GC36 (Linux)/8.0.6_GA_5922) Thread-Topic: fsl_ifc_nand: Use devm_* throughout driver Thread-Index: r3qBAgIkvKlbJjVK2midAQ9PI8aQLA== X-Virus-Scanned: clamav-milter 0.96 at mail X-Virus-Status: Clean X-Spam-Status: No, score=-6.4 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00, XES_TECH_DRIVER autolearn=ham version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on mail.xes-mad.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20140815_174919_996783_3FC5A0D0 X-CRM114-Status: UNSURE ( 7.91 ) X-CRM114-Notice: Please train this message. X-Spam-Score: 0.0 (/) X-Spam-Report: SpamAssassin version 3.4.0 on bombadil.infradead.org summary: Content analysis details: (0.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- Cc: linux-mtd@lists.infradead.org, Prabhakar Kushwaha X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.18-1 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 For consistency, use managed resources for allocations and remaps throughout the driver. Signed-off-by: Aaron Sierra --- drivers/mtd/nand/fsl_ifc_nand.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/mtd/nand/fsl_ifc_nand.c b/drivers/mtd/nand/fsl_ifc_nand.c index 2338124..7861909 100644 --- a/drivers/mtd/nand/fsl_ifc_nand.c +++ b/drivers/mtd/nand/fsl_ifc_nand.c @@ -997,9 +997,6 @@ static int fsl_ifc_chip_remove(struct fsl_ifc_mtd *priv) kfree(priv->mtd.name); - if (priv->vbase) - iounmap(priv->vbase); - ifc_nand_ctrl->chips[priv->bank] = NULL; return 0; @@ -1062,7 +1059,8 @@ static int fsl_ifc_nand_probe(struct platform_device *dev) mutex_lock(&fsl_ifc_nand_mutex); if (!fsl_ifc_ctrl_dev->nand) { - ifc_nand_ctrl = kzalloc(sizeof(*ifc_nand_ctrl), GFP_KERNEL); + ifc_nand_ctrl = devm_kzalloc(&dev->dev, + sizeof(*ifc_nand_ctrl), GFP_KERNEL); if (!ifc_nand_ctrl) { mutex_unlock(&fsl_ifc_nand_mutex); return -ENOMEM; @@ -1085,7 +1083,7 @@ static int fsl_ifc_nand_probe(struct platform_device *dev) priv->ctrl = fsl_ifc_ctrl_dev; priv->dev = &dev->dev; - priv->vbase = ioremap(res.start, resource_size(&res)); + priv->vbase = devm_ioremap(priv->dev, res.start, resource_size(&res)); if (!priv->vbase) { dev_err(priv->dev, "%s: failed to map chip region\n", __func__); ret = -ENOMEM; @@ -1148,10 +1146,8 @@ static int fsl_ifc_nand_remove(struct platform_device *dev) mutex_lock(&fsl_ifc_nand_mutex); ifc_nand_ctrl->counter--; - if (!ifc_nand_ctrl->counter) { + if (!ifc_nand_ctrl->counter) fsl_ifc_ctrl_dev->nand = NULL; - kfree(ifc_nand_ctrl); - } mutex_unlock(&fsl_ifc_nand_mutex); return 0;