[alsa-devel] [PATCH 4/4] ALSA: add dummy function to support shared mmap in nommu Blackfin arch

Cai, Cliff Cliff.Cai at analog.com
Tue Sep 2 05:16:37 CEST 2008


 

-----Original Message-----
From: Takashi Iwai [mailto:tiwai at suse.de] 
Sent: Thursday, August 28, 2008 8:45 PM
To: Bryan Wu
Cc: perex at perex.cz; liam.girdwood at wolfsonmicro.com;
broonie at opensource.wolfsonmicro.com; alsa-devel at alsa-project.org;
linux-kernel at vger.kernel.org; Cliff Cai
Subject: Re: [PATCH 4/4] ALSA: add dummy function to support shared mmap
in nommu Blackfin arch

At Wed, 27 Aug 2008 17:39:28 +0800,
Bryan Wu wrote:
> 
> From: Cliff Cai <cliff.cai at analog.com>
> 
> Signed-off-by: Cliff Cai <cliff.cai at analog.com>
> Signed-off-by: Bryan Wu <cooloney at kernel.org>
> ---
>  sound/core/pcm_native.c |    8 ++++++++
>  1 files changed, 8 insertions(+), 0 deletions(-)
>
> diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index 
> c49b9d9..cb202a1 100644
> --- a/sound/core/pcm_native.c
> +++ b/sound/core/pcm_native.c
> @@ -3391,6 +3391,12 @@ out:
>  }
>  #endif /* CONFIG_SND_SUPPORT_OLD_API */
>  
> +unsigned long dummy_get_unmapped_area(struct file *file, unsigned
long addr,
> +				      unsigned long len, unsigned long
pgoff, unsigned long 
> +flags) {
> +	return 0;
> +}

>Always zero is confirmed to work for other architectures, too?
I'm not sure about this but for non-mmu arch it's enough and harmless.


>  /*
>   *  Register section
>   */
> @@ -3407,6 +3413,7 @@ const struct file_operations snd_pcm_f_ops[2] =
{
>  		.compat_ioctl = 	snd_pcm_ioctl_compat,
>  		.mmap =			snd_pcm_mmap,
>  		.fasync =		snd_pcm_fasync,
> +		.get_unmapped_area =	dummy_get_unmapped_area,
>  	},
>  	{
>  		.owner =		THIS_MODULE,
> @@ -3419,5 +3426,6 @@ const struct file_operations snd_pcm_f_ops[2] =
{
>  		.compat_ioctl = 	snd_pcm_ioctl_compat,
>  		.mmap =			snd_pcm_mmap,
>  		.fasync =		snd_pcm_fasync,
> +		.get_unmapped_area =	dummy_get_unmapped_area,
>  	}
>  };

>I don't think adding this dummy get_unmapped_area unconditionally for
every driver is good.  This overrides the default
>mm->get_unmaped_area.
But without this dummy function,shared mmap on nommu arch would
fail,refer to validate_mmap_request() in mm/nommu.c.
May be we can add a kernel config item to include or not include this
function depending on non-mmu or mmu arch.  

Cliff


More information about the Alsa-devel mailing list