vm: convert snd_pcm_lib_mmap_iomem() to vm_iomap_memory() helper
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 19 Apr 2013 17:01:04 +0000 (10:01 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 19 Apr 2013 17:01:04 +0000 (10:01 -0700)
This is my example conversion of a few existing mmap users.  The pcm
mmap case is one of the more straightforward ones.

Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
sound/core/pcm_native.c

index 71ae86ca64ac3b696121c66cbc7b334bc03cb3f3..eb560fa32321eff55002830cf78f2764d7a09518 100644 (file)
@@ -3222,18 +3222,10 @@ EXPORT_SYMBOL_GPL(snd_pcm_lib_default_mmap);
 int snd_pcm_lib_mmap_iomem(struct snd_pcm_substream *substream,
                           struct vm_area_struct *area)
 {
-       long size;
-       unsigned long offset;
+       struct snd_pcm_runtime *runtime = substream->runtime;;
 
        area->vm_page_prot = pgprot_noncached(area->vm_page_prot);
-       area->vm_flags |= VM_IO;
-       size = area->vm_end - area->vm_start;
-       offset = area->vm_pgoff << PAGE_SHIFT;
-       if (io_remap_pfn_range(area, area->vm_start,
-                               (substream->runtime->dma_addr + offset) >> PAGE_SHIFT,
-                               size, area->vm_page_prot))
-               return -EAGAIN;
-       return 0;
+       return vm_iomap_memory(area, runtime->dma_addr, runtime->dma_bytes);
 }
 
 EXPORT_SYMBOL(snd_pcm_lib_mmap_iomem);