summaryrefslogtreecommitdiff
path: root/mm
diff options
context:
space:
mode:
authorMarek Szyprowski <m.szyprowski@samsung.com>2012-07-30 09:11:33 +0200
committerHiroshi Doyu <hdoyu@nvidia.com>2012-09-07 11:46:10 +0300
commit55557ba47f5ab921551ef26d310cb0090bc60f81 (patch)
tree860bef5b5ffcc66530df90fd3192382da0747a28 /mm
parentf6fad8b2e55060e4d1fb4874d17147bd36e848c0 (diff)
ARM: dma-mapping: remove custom consistent dma region
This patch changes dma-mapping subsystem to use generic vmalloc areas for all consistent dma allocations. This increases the total size limit of the consistent allocations and removes platform hacks and a lot of duplicated code. Atomic allocations are served from special pool preallocated on boot, because vmalloc areas cannot be reliably created in atomic context. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Reviewed-by: Kyungmin Park <kyungmin.park@samsung.com> Reviewed-by: Minchan Kim <minchan@kernel.org> Conflicts: arch/arm/mm/dma-mapping.c Change-Id: I376c99671f8dc3d078d1951022bacec4e46d5865 Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com>
Diffstat (limited to 'mm')
-rw-r--r--mm/vmalloc.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index 389e77ca8081..4284fb2a0557 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -1403,7 +1403,15 @@ struct vm_struct *get_vm_area_caller(unsigned long size, unsigned long flags,
-1, GFP_KERNEL, caller);
}
-static struct vm_struct *find_vm_area(const void *addr)
+/**
+ * find_vm_area - find a continuous kernel virtual area
+ * @addr: base address
+ *
+ * Search for the kernel VM area starting at @addr, and return it.
+ * It is up to the caller to do all required locking to keep the returned
+ * pointer valid.
+ */
+struct vm_struct *find_vm_area(const void *addr)
{
struct vmap_area *va;