-----Original Message----- From: Takashi Iwai [mailto:tiwai@suse.de] Sent: Thursday, August 28, 2008 8:45 PM To: Bryan Wu Cc: perex@perex.cz; liam.girdwood@wolfsonmicro.com; broonie@opensource.wolfsonmicro.com; alsa-devel@alsa-project.org; linux-kernel@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@analog.com
Signed-off-by: Cliff Cai cliff.cai@analog.com Signed-off-by: Bryan Wu cooloney@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,
}, { .owner = THIS_MODULE,.get_unmapped_area = dummy_get_unmapped_area,
@@ -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