ion: don't use __arm_ioremap to map pages
authorColin Cross <ccross@android.com>
Fri, 13 Dec 2013 22:25:06 +0000 (14:25 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 14 Dec 2013 16:57:19 +0000 (08:57 -0800)
ion_heap_map_kernel already implements mapping a scatterlist of
pages into the kernel, and all heaps are required to have struct
pages associated with them, so delete the functions that use
__arm_ioremap and use ion_heap_map_kernel instead.

Signed-off-by: Colin Cross <ccross@android.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/android/ion/ion_carveout_heap.c
drivers/staging/android/ion/ion_chunk_heap.c

index 36df34c1ed53b519071c338667a84e468605137e..051363a442dcd52a3d449ac739ad7e88b7a3a3f8 100644 (file)
@@ -25,8 +25,6 @@
 #include "ion.h"
 #include "ion_priv.h"
 
-#include <asm/mach/map.h>
-
 struct ion_carveout_heap {
        struct ion_heap heap;
        struct gen_pool *pool;
@@ -109,49 +107,15 @@ void ion_carveout_heap_unmap_dma(struct ion_heap *heap,
        sg_free_table(buffer->sg_table);
 }
 
-void *ion_carveout_heap_map_kernel(struct ion_heap *heap,
-                                  struct ion_buffer *buffer)
-{
-       void *ret;
-       int mtype = MT_MEMORY_NONCACHED;
-
-       if (buffer->flags & ION_FLAG_CACHED)
-               mtype = MT_MEMORY;
-
-       ret = __arm_ioremap(buffer->priv_phys, buffer->size,
-                             mtype);
-       if (ret == NULL)
-               return ERR_PTR(-ENOMEM);
-
-       return ret;
-}
-
-void ion_carveout_heap_unmap_kernel(struct ion_heap *heap,
-                                   struct ion_buffer *buffer)
-{
-       __arm_iounmap(buffer->vaddr);
-       buffer->vaddr = NULL;
-       return;
-}
-
-int ion_carveout_heap_map_user(struct ion_heap *heap, struct ion_buffer *buffer,
-                              struct vm_area_struct *vma)
-{
-       return remap_pfn_range(vma, vma->vm_start,
-                              __phys_to_pfn(buffer->priv_phys) + vma->vm_pgoff,
-                              vma->vm_end - vma->vm_start,
-                              pgprot_noncached(vma->vm_page_prot));
-}
-
 static struct ion_heap_ops carveout_heap_ops = {
        .allocate = ion_carveout_heap_allocate,
        .free = ion_carveout_heap_free,
        .phys = ion_carveout_heap_phys,
        .map_dma = ion_carveout_heap_map_dma,
        .unmap_dma = ion_carveout_heap_unmap_dma,
-       .map_user = ion_carveout_heap_map_user,
-       .map_kernel = ion_carveout_heap_map_kernel,
-       .unmap_kernel = ion_carveout_heap_unmap_kernel,
+       .map_user = ion_heap_map_user,
+       .map_kernel = ion_heap_map_kernel,
+       .unmap_kernel = ion_heap_unmap_kernel,
 };
 
 struct ion_heap *ion_carveout_heap_create(struct ion_platform_heap *heap_data)
index 62f7439e02b1f9a4c6000106aadb64db2a68e0f6..d3363d6088dbc2b35bef371cffe44580055120cd 100644 (file)
@@ -25,8 +25,6 @@
 #include "ion.h"
 #include "ion_priv.h"
 
-#include <asm/mach/map.h>
-
 struct ion_chunk_heap {
        struct ion_heap heap;
        struct gen_pool *pool;