[alsa-devel] [PATCH V4] ASoC/au1x: use resource_size for au1x
Wan ZongShun
mcuos.com at gmail.com
Wed Jun 2 16:48:27 CEST 2010
Hi mark,
How about this patch?
Applied?
在 2010年6月1日 下午3:16,Wan ZongShun <mcuos.com at gmail.com> 写道:
> Dear all,
>
> Use the resource_size function instead of manually calculating the
> resource size.This patch can reduce the chance of introducing off-by-one
> errors.
>
> Thanks!
>
> Signed-off-by: Wan ZongShun<mcuos.com at gmail.com>
> ---
> sound/soc/au1x/psc-ac97.c | 13 +++++--------
> sound/soc/au1x/psc-i2s.c | 13 +++++--------
> sound/soc/au1x/psc.h | 1 -
> 3 files changed, 10 insertions(+), 17 deletions(-)
>
> diff --git a/sound/soc/au1x/psc-ac97.c b/sound/soc/au1x/psc-ac97.c
> index a61ccd2..d14a5a9 100644
> --- a/sound/soc/au1x/psc-ac97.c
> +++ b/sound/soc/au1x/psc-ac97.c
> @@ -375,12 +375,10 @@ static int __devinit au1xpsc_ac97_drvprobe(struct platform_device *pdev)
> }
>
> ret = -EBUSY;
> - wd->ioarea = request_mem_region(r->start, r->end - r->start + 1,
> - "au1xpsc_ac97");
> - if (!wd->ioarea)
> + if (!request_mem_region(r->start, resource_size(r), pdev->name))
> goto out0;
>
> - wd->mmio = ioremap(r->start, 0xffff);
> + wd->mmio = ioremap(r->start, resource_size(r));
> if (!wd->mmio)
> goto out1;
>
> @@ -410,8 +408,7 @@ static int __devinit au1xpsc_ac97_drvprobe(struct platform_device *pdev)
>
> snd_soc_unregister_dai(&au1xpsc_ac97_dai);
> out1:
> - release_resource(wd->ioarea);
> - kfree(wd->ioarea);
> + release_mem_region(r->start, resource_size(r));
> out0:
> kfree(wd);
> return ret;
> @@ -420,6 +417,7 @@ out0:
> static int __devexit au1xpsc_ac97_drvremove(struct platform_device *pdev)
> {
> struct au1xpsc_audio_data *wd = platform_get_drvdata(pdev);
> + struct resource *r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>
> if (wd->dmapd)
> au1xpsc_pcm_destroy(wd->dmapd);
> @@ -433,8 +431,7 @@ static int __devexit au1xpsc_ac97_drvremove(struct platform_device *pdev)
> au_sync();
>
> iounmap(wd->mmio);
> - release_resource(wd->ioarea);
> - kfree(wd->ioarea);
> + release_mem_region(r->start, resource_size(r));
> kfree(wd);
>
> au1xpsc_ac97_workdata = NULL; /* MDEV */
> diff --git a/sound/soc/au1x/psc-i2s.c b/sound/soc/au1x/psc-i2s.c
> index 495be6e..737b238 100644
> --- a/sound/soc/au1x/psc-i2s.c
> +++ b/sound/soc/au1x/psc-i2s.c
> @@ -321,12 +321,10 @@ static int __init au1xpsc_i2s_drvprobe(struct platform_device *pdev)
> }
>
> ret = -EBUSY;
> - wd->ioarea = request_mem_region(r->start, r->end - r->start + 1,
> - "au1xpsc_i2s");
> - if (!wd->ioarea)
> + if (!request_mem_region(r->start, resource_size(r), pdev->name))
> goto out0;
>
> - wd->mmio = ioremap(r->start, 0xffff);
> + wd->mmio = ioremap(r->start, resource_size(r));
> if (!wd->mmio)
> goto out1;
>
> @@ -362,8 +360,7 @@ static int __init au1xpsc_i2s_drvprobe(struct platform_device *pdev)
>
> snd_soc_unregister_dai(&au1xpsc_i2s_dai);
> out1:
> - release_resource(wd->ioarea);
> - kfree(wd->ioarea);
> + release_mem_region(r->start, resource_size(r));
> out0:
> kfree(wd);
> return ret;
> @@ -372,6 +369,7 @@ out0:
> static int __devexit au1xpsc_i2s_drvremove(struct platform_device *pdev)
> {
> struct au1xpsc_audio_data *wd = platform_get_drvdata(pdev);
> + struct resource *r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>
> if (wd->dmapd)
> au1xpsc_pcm_destroy(wd->dmapd);
> @@ -384,8 +382,7 @@ static int __devexit au1xpsc_i2s_drvremove(struct platform_device *pdev)
> au_sync();
>
> iounmap(wd->mmio);
> - release_resource(wd->ioarea);
> - kfree(wd->ioarea);
> + release_mem_region(r->start, resource_size(r));
> kfree(wd);
>
> au1xpsc_i2s_workdata = NULL; /* MDEV */
> diff --git a/sound/soc/au1x/psc.h b/sound/soc/au1x/psc.h
> index 32d3807..093775d 100644
> --- a/sound/soc/au1x/psc.h
> +++ b/sound/soc/au1x/psc.h
> @@ -32,7 +32,6 @@ struct au1xpsc_audio_data {
> unsigned long rate;
>
> unsigned long pm[2];
> - struct resource *ioarea;
> struct mutex lock;
> struct platform_device *dmapd;
> };
> --
> 1.6.3.3
>
--
*linux-arm-kernel mailing list
mail addr:linux-arm-kernel at lists.infradead.org
you can subscribe by:
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
* linux-arm-NUC900 mailing list
mail addr:NUC900 at googlegroups.com
main web: https://groups.google.com/group/NUC900
you can subscribe it by sending me mail:
mcuos.com at gmail.com
More information about the Alsa-devel
mailing list