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

From: Cai, Cliff
Date: Mon Sep 01 2008 - 23:15:10 EST




-----Original Message-----
From: Takashi Iwai [mailto:tiwai@xxxxxxx]
Sent: Thursday, August 28, 2008 8:45 PM
To: Bryan Wu
Cc: perex@xxxxxxxx; liam.girdwood@xxxxxxxxxxxxxxxx;
broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx; alsa-devel@xxxxxxxxxxxxxxxx;
linux-kernel@xxxxxxxxxxxxxxx; 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@xxxxxxxxxx>
>
> Signed-off-by: Cliff Cai <cliff.cai@xxxxxxxxxx>
> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxxx>
> ---
> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/