From patchwork Mon May 26 20:21:31 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Himangi Saraogi X-Patchwork-Id: 352622 X-Patchwork-Delegate: agust@denx.de Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [103.22.144.68]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 58CA01400DD for ; Tue, 27 May 2014 06:22:17 +1000 (EST) Received: from ozlabs.org (ozlabs.org [103.22.144.67]) by lists.ozlabs.org (Postfix) with ESMTP id 469961A0634 for ; Tue, 27 May 2014 06:22:17 +1000 (EST) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Received: from mail-pa0-x230.google.com (mail-pa0-x230.google.com [IPv6:2607:f8b0:400e:c03::230]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id C60281A0590 for ; Tue, 27 May 2014 06:21:41 +1000 (EST) Received: by mail-pa0-f48.google.com with SMTP id rd3so8012695pab.35 for ; Mon, 26 May 2014 13:21:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:mime-version:content-type :content-disposition:user-agent; bh=Aveu04jhDGeTUtfn0Ffq5i2VXVGNap5lRBr0lFOpvxI=; b=TGSSkJlRIPy6VKCZXmzscx2qgvuK3LU8VJimLSzMN59Ljv4U1KVsm2RhcqMEBcQaGr 0o7rX/Te8r7Px95rBarg46j/zbY9IMHbaG1Pawc4+F+7pHjSyj0yXo42W/PxKF1xFZq6 ttmna7GiUzF38C3rNek+pzlvHXFQAXDJrz2EMQSBxD/C+J6wz4DdpxUvOXLQunf++6+e tlBerXISvMcf7lA5JnPhYlXyPMSb6rutpcK6LDa1I6gol4q/uzp0o007H+0YT9ZshkgN Ld8bz6UYCueC+UPuj7n4ILErT2z825bToAbkVr3a3f4+sWjFsCLmXpfAXE4RfedAJA0J 0C8g== X-Received: by 10.68.233.37 with SMTP id tt5mr30811963pbc.154.1401135699163; Mon, 26 May 2014 13:21:39 -0700 (PDT) Received: from localhost ([122.178.79.171]) by mx.google.com with ESMTPSA id iq10sm19680312pbc.14.2014.05.26.13.21.34 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Mon, 26 May 2014 13:21:38 -0700 (PDT) Date: Tue, 27 May 2014 01:51:31 +0530 From: Himangi Saraogi To: Anatolij Gustschin , Benjamin Herrenschmidt , Paul Mackerras , linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH] powerpc: Introduce the use of the managed version of kzalloc Message-ID: <20140526202130.GA16360@himangi-Dell> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) Cc: julia.lawall@lip6.fr X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" This patch moves data allocated using kzalloc to managed data allocated using devm_kzalloc and cleans now unnecessary kfree in probe function. The following Coccinelle semantic patch was used for making the change: @platform@ identifier p, probefn, removefn; @@ struct platform_driver p = { .probe = probefn, .remove = removefn, }; @prb@ identifier platform.probefn, pdev; expression e, e1, e2; @@ probefn(struct platform_device *pdev, ...) { <+... - e = kzalloc(e1, e2) + e = devm_kzalloc(&pdev->dev, e1, e2) ... ?-kfree(e); ...+> } Signed-off-by: Himangi Saraogi Acked-by: Julia Lawall --- Not compile tested arch/powerpc/platforms/52xx/mpc52xx_gpt.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c b/arch/powerpc/platforms/52xx/mpc52xx_gpt.c index 6929982..37343a6 100644 --- a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c +++ b/arch/powerpc/platforms/52xx/mpc52xx_gpt.c @@ -724,7 +724,7 @@ static int mpc52xx_gpt_probe(struct platform_device *ofdev) { struct mpc52xx_gpt_priv *gpt; - gpt = kzalloc(sizeof *gpt, GFP_KERNEL); + gpt = devm_kzalloc(&ofdev->dev, sizeof *gpt, GFP_KERNEL); if (!gpt) return -ENOMEM; @@ -732,10 +732,8 @@ static int mpc52xx_gpt_probe(struct platform_device *ofdev) gpt->dev = &ofdev->dev; gpt->ipb_freq = mpc5xxx_get_bus_frequency(ofdev->dev.of_node); gpt->regs = of_iomap(ofdev->dev.of_node, 0); - if (!gpt->regs) { - kfree(gpt); + if (!gpt->regs) return -ENOMEM; - } dev_set_drvdata(&ofdev->dev, gpt);