All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thierry Reding <thierry.reding@avionic-design.de>
To: Stephen Warren <swarren@nvidia.com>
Cc: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>,
	Peter De Schrijver <pdeschrijver@nvidia.com>,
	alsa-devel@alsa-project.org, Mike Rapoport <mike@compulab.co.il>,
	devicetree-discuss@lists.ozlabs.org,
	Mark Brown <broonie@opensource.wolfsonmicro.com>,
	Ian Lartey <ian@opensource.wolfsonmicro.com>,
	Rob Herring <rob.herring@calxeda.com>,
	Marc Dietrich <marvin24@gmx.de>,
	Grant Likely <grant.likely@secretlab.ca>,
	linux-tegra@vger.kernel.org, John Bonesio <bones@secretlab.ca>,
	Leon Romanovsky <leon@leon.nu>, Colin Cross <ccross@android.com>,
	Olof Johansson <olof@lixom.net>, Liam Girdwood <lrg@ti.com>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 08/17] ASoC: Tegra I2S: Use devm_ APIs and module_platform_driver
Date: Wed, 23 Nov 2011 08:00:27 +0100	[thread overview]
Message-ID: <20111123070027.GC5255@avionic-0098.adnet.avionic-design.de> (raw)
In-Reply-To: <1322011285-4002-9-git-send-email-swarren@nvidia.com>


[-- Attachment #1.1: Type: text/plain, Size: 1609 bytes --]

* Stephen Warren wrote:
> module_platform_drive saves some boiler-plate code.
> 
> The devm_ APIs remove the need to manually clean up allocations,
> thus removing some code.
> 
> Signed-off-by: Stephen Warren <swarren@nvidia.com>
> ---
>  sound/soc/tegra/tegra_i2s.c |   45 +++++++++---------------------------------
>  1 files changed, 10 insertions(+), 35 deletions(-)
> 
> diff --git a/sound/soc/tegra/tegra_i2s.c b/sound/soc/tegra/tegra_i2s.c
[...]
> @@ -422,43 +422,29 @@ static __devinit int tegra_i2s_platform_probe(struct platform_device *pdev)
>  	if (ret) {
>  		dev_err(&pdev->dev, "Could not register DAI: %d\n", ret);
>  		ret = -ENOMEM;
> -		goto err_unmap;
> +		goto err_clk_put;
>  	}
>  
>  	tegra_i2s_debug_add(i2s, pdev->id);
>  
>  	return 0;
>  
> -err_unmap:
> -	iounmap(i2s->regs);
> -err_release:
> -	release_mem_region(mem->start, resource_size(mem));
>  err_clk_put:
>  	clk_put(i2s->clk_i2s);
> -err_free:
> -	kfree(i2s);
> -exit:
> +err:
>  	return ret;
>  }
>  
>  static int __devexit tegra_i2s_platform_remove(struct platform_device *pdev)
>  {
>  	struct tegra_i2s *i2s = dev_get_drvdata(&pdev->dev);
> -	struct resource *res;
>  
>  	snd_soc_unregister_dai(&pdev->dev);
>  
>  	tegra_i2s_debug_remove(i2s);
>  
> -	iounmap(i2s->regs);
> -
> -	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	release_mem_region(res->start, resource_size(res));
> -
>  	clk_put(i2s->clk_i2s);
>  
> -	kfree(i2s);
> -
>  	return 0;
>  }
[...]

Is this perhaps missing a dev_set_drvdata(&pdev->dev, NULL) as well?

Thierry

[-- Attachment #1.2: Type: application/pgp-signature, Size: 198 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



WARNING: multiple messages have this Message-ID (diff)
From: thierry.reding@avionic-design.de (Thierry Reding)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 08/17] ASoC: Tegra I2S: Use devm_ APIs and module_platform_driver
Date: Wed, 23 Nov 2011 08:00:27 +0100	[thread overview]
Message-ID: <20111123070027.GC5255@avionic-0098.adnet.avionic-design.de> (raw)
In-Reply-To: <1322011285-4002-9-git-send-email-swarren@nvidia.com>

* Stephen Warren wrote:
> module_platform_drive saves some boiler-plate code.
> 
> The devm_ APIs remove the need to manually clean up allocations,
> thus removing some code.
> 
> Signed-off-by: Stephen Warren <swarren@nvidia.com>
> ---
>  sound/soc/tegra/tegra_i2s.c |   45 +++++++++---------------------------------
>  1 files changed, 10 insertions(+), 35 deletions(-)
> 
> diff --git a/sound/soc/tegra/tegra_i2s.c b/sound/soc/tegra/tegra_i2s.c
[...]
> @@ -422,43 +422,29 @@ static __devinit int tegra_i2s_platform_probe(struct platform_device *pdev)
>  	if (ret) {
>  		dev_err(&pdev->dev, "Could not register DAI: %d\n", ret);
>  		ret = -ENOMEM;
> -		goto err_unmap;
> +		goto err_clk_put;
>  	}
>  
>  	tegra_i2s_debug_add(i2s, pdev->id);
>  
>  	return 0;
>  
> -err_unmap:
> -	iounmap(i2s->regs);
> -err_release:
> -	release_mem_region(mem->start, resource_size(mem));
>  err_clk_put:
>  	clk_put(i2s->clk_i2s);
> -err_free:
> -	kfree(i2s);
> -exit:
> +err:
>  	return ret;
>  }
>  
>  static int __devexit tegra_i2s_platform_remove(struct platform_device *pdev)
>  {
>  	struct tegra_i2s *i2s = dev_get_drvdata(&pdev->dev);
> -	struct resource *res;
>  
>  	snd_soc_unregister_dai(&pdev->dev);
>  
>  	tegra_i2s_debug_remove(i2s);
>  
> -	iounmap(i2s->regs);
> -
> -	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	release_mem_region(res->start, resource_size(res));
> -
>  	clk_put(i2s->clk_i2s);
>  
> -	kfree(i2s);
> -
>  	return 0;
>  }
[...]

Is this perhaps missing a dev_set_drvdata(&pdev->dev, NULL) as well?

Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20111123/59ee7e39/attachment.sig>

  reply	other threads:[~2011-11-23  7:01 UTC|newest]

Thread overview: 94+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-23  1:21 [PATCH 00/17] ASoC: Add Tegra DT, cleanup, and related Stephen Warren
2011-11-23  1:21 ` Stephen Warren
     [not found] ` <1322011285-4002-1-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-11-23  1:21   ` [PATCH 01/17] arm/tegra: board-dt: audio: Enable clocks, fix AUXDATA Stephen Warren
2011-11-23  1:21     ` Stephen Warren
2011-11-23 10:38     ` Mark Brown
2011-11-23 10:38       ` Mark Brown
     [not found]       ` <20111123103858.GK4332-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2011-11-23 17:44         ` Stephen Warren
2011-11-23 17:44           ` Stephen Warren
     [not found]           ` <74CDBE0F657A3D45AFBB94109FB122FF174F08C708-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2011-11-23 22:01             ` Olof Johansson
2011-11-23 22:01               ` Olof Johansson
2011-11-23  1:21   ` [PATCH 02/17] arm/dt: Tegra: Clean up I2S and DAS nodes Stephen Warren
2011-11-23  1:21     ` Stephen Warren
2011-11-23  1:21   ` [PATCH 03/17] arm/dt: Tegra: Enable audio on WM8903 boards, disable others Stephen Warren
2011-11-23  1:21     ` Stephen Warren
     [not found]     ` <1322011285-4002-4-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-11-23 16:50       ` Stephen Warren
2011-11-23 16:50         ` Stephen Warren
2011-11-23  1:21   ` [PATCH 04/17] ASoC: Add device tree binding for WM8903 Stephen Warren
2011-11-23  1:21     ` Stephen Warren
2011-11-23 10:20     ` Mark Brown
2011-11-23 10:20       ` Mark Brown
2011-11-23  1:21   ` [PATCH 05/17] ASoC: Tegra: Move DAS configuration into machine drivers Stephen Warren
2011-11-23  1:21     ` Stephen Warren
     [not found]     ` <1322011285-4002-6-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-11-23 10:24       ` Mark Brown
2011-11-23 10:24         ` Mark Brown
2011-11-23  1:21   ` [PATCH 06/17] ASoC: Tegra PCM: Use module_platform_driver Stephen Warren
2011-11-23  1:21     ` Stephen Warren
     [not found]     ` <1322011285-4002-7-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-11-23 10:24       ` Mark Brown
2011-11-23 10:24         ` Mark Brown
2011-11-23  1:21   ` [PATCH 07/17] ASoC: Tegra DAS: Use devm_ APIs and module_platform_driver Stephen Warren
2011-11-23  1:21     ` Stephen Warren
2011-11-23  6:58     ` Thierry Reding
2011-11-23  6:58       ` Thierry Reding
     [not found]       ` <20111123065808.GB5255-RM9K5IK7kjIyiCvfTdI0JKcOhU4Rzj621B7CTYaBSLdn68oJJulU0Q@public.gmane.org>
2011-11-23 10:23         ` Mark Brown
2011-11-23 10:23           ` Mark Brown
2011-11-23 17:29       ` Stephen Warren
2011-11-23 17:29         ` [alsa-devel] " Stephen Warren
     [not found]         ` <74CDBE0F657A3D45AFBB94109FB122FF174F08C6F3-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2011-11-23 20:40           ` Thierry Reding
2011-11-23 20:40             ` Thierry Reding
     [not found]     ` <1322011285-4002-8-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-11-23 10:25       ` Mark Brown
2011-11-23 10:25         ` Mark Brown
2011-11-23  1:21   ` [PATCH 08/17] ASoC: Tegra I2S: " Stephen Warren
2011-11-23  1:21     ` Stephen Warren
2011-11-23  7:00     ` Thierry Reding [this message]
2011-11-23  7:00       ` Thierry Reding
     [not found]     ` <1322011285-4002-9-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-11-23 10:25       ` Mark Brown
2011-11-23 10:25         ` Mark Brown
2011-11-23  1:21   ` [PATCH 09/17] ASoC: Tegra I2S: Remove dependency on pdev->id Stephen Warren
2011-11-23  1:21     ` Stephen Warren
     [not found]     ` <1322011285-4002-10-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-11-23 11:03       ` Mark Brown
2011-11-23 11:03         ` Mark Brown
     [not found]         ` <20111123110338.GC21073-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2011-11-23 17:54           ` Stephen Warren
2011-11-23 17:54             ` Stephen Warren
     [not found]             ` <74CDBE0F657A3D45AFBB94109FB122FF174F08C711-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2011-11-23 18:03               ` Mark Brown
2011-11-23 18:03                 ` Mark Brown
2011-11-23  1:21   ` [PATCH 10/17] ASoC: Tegra DAS: Add device tree binding Stephen Warren
2011-11-23  1:21     ` Stephen Warren
     [not found]     ` <1322011285-4002-11-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-11-23 11:07       ` Mark Brown
2011-11-23 11:07         ` Mark Brown
2011-11-23  1:21   ` [PATCH 11/17] ASoC: Tegra I2S: " Stephen Warren
2011-11-23  1:21     ` Stephen Warren
2011-11-23  7:04     ` Thierry Reding
2011-11-23  7:04       ` Thierry Reding
     [not found]       ` <20111123070449.GD5255-RM9K5IK7kjIyiCvfTdI0JKcOhU4Rzj621B7CTYaBSLdn68oJJulU0Q@public.gmane.org>
2011-11-23 10:48         ` Mark Brown
2011-11-23 10:48           ` Mark Brown
     [not found]           ` <20111123104845.GM4332-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2011-11-23 10:57             ` Thierry Reding
2011-11-23 10:57               ` Thierry Reding
     [not found]     ` <1322011285-4002-12-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-11-23 11:27       ` Mark Brown
2011-11-23 11:27         ` Mark Brown
2011-11-23  1:21   ` [PATCH 12/17] ASoC: Tegra+WM8903 machine: Use devm_ APIs and module_platform_driver Stephen Warren
2011-11-23  1:21     ` Stephen Warren
     [not found]     ` <1322011285-4002-13-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-11-23  7:05       ` Thierry Reding
2011-11-23  7:05         ` Thierry Reding
2011-11-23 11:08       ` Mark Brown
2011-11-23 11:08         ` Mark Brown
2011-11-23  1:21   ` [PATCH 13/17] ASoC: Tegra TrimSlice " Stephen Warren
2011-11-23  1:21     ` Stephen Warren
     [not found]     ` <1322011285-4002-14-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-11-23  7:06       ` Thierry Reding
2011-11-23  7:06         ` Thierry Reding
2011-11-23 11:11     ` Mark Brown
2011-11-23 11:11       ` Mark Brown
2011-11-23  1:21   ` [PATCH 14/17] ASoC: Implement "auto nc pins" feature Stephen Warren
2011-11-23  1:21     ` Stephen Warren
     [not found]     ` <1322011285-4002-15-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-11-23 11:15       ` Mark Brown
2011-11-23 11:15         ` Mark Brown
2011-11-23  1:21   ` [PATCH 15/17] ASoC: Tegra+WM903 machine: Use new auto_nc_codec_pins feature Stephen Warren
2011-11-23  1:21     ` Stephen Warren
2011-11-23  1:21   ` [PATCH 16/17] ASoC: TrimSlice " Stephen Warren
2011-11-23  1:21     ` Stephen Warren
2011-11-23  1:21   ` [PATCH 17/17] ASoC: Tegra+WM8903 machine: Add device tree binding Stephen Warren
2011-11-23  1:21     ` Stephen Warren
     [not found]     ` <1322011285-4002-18-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-11-23  7:15       ` Thierry Reding
2011-11-23  7:15         ` Thierry Reding
2011-11-23 11:26       ` Mark Brown
2011-11-23 11:26         ` Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20111123070027.GC5255@avionic-0098.adnet.avionic-design.de \
    --to=thierry.reding@avionic-design.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=bones@secretlab.ca \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=ccross@android.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=dp@opensource.wolfsonmicro.com \
    --cc=grant.likely@secretlab.ca \
    --cc=ian@opensource.wolfsonmicro.com \
    --cc=leon@leon.nu \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=lrg@ti.com \
    --cc=marvin24@gmx.de \
    --cc=mike@compulab.co.il \
    --cc=olof@lixom.net \
    --cc=pdeschrijver@nvidia.com \
    --cc=rob.herring@calxeda.com \
    --cc=swarren@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.