aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/mm/imalloc.c
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2007-06-04 01:15:35 -0400
committerPaul Mackerras <paulus@samba.org>2007-06-14 08:29:56 -0400
commitc19c03fc749147f565e807fa65f1729066800571 (patch)
treed5ba2eb6d43b5001c93c42523fc5b2431ef61664 /arch/powerpc/mm/imalloc.c
parent3c8c90ab8810a8ebb38a5f1dde2595b750d5adff (diff)
[POWERPC] unmap_vm_area becomes unmap_kernel_range for the public
This makes unmap_vm_area static and a wrapper around a new exported unmap_kernel_range that takes an explicit range instead of a vm_area struct. This makes it more versatile for code that wants to play with kernel page tables outside of the standard vmalloc area. (One example is some rework of the PowerPC PCI IO space mapping code that depends on that patch and removes some code duplication and horrible abuse of forged struct vm_struct). Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/mm/imalloc.c')
-rw-r--r--arch/powerpc/mm/imalloc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/mm/imalloc.c b/arch/powerpc/mm/imalloc.c
index c831815c31f0..9eddf37303d7 100644
--- a/arch/powerpc/mm/imalloc.c
+++ b/arch/powerpc/mm/imalloc.c
@@ -301,7 +301,8 @@ void im_free(void * addr)
301 for (p = &imlist ; (tmp = *p) ; p = &tmp->next) { 301 for (p = &imlist ; (tmp = *p) ; p = &tmp->next) {
302 if (tmp->addr == addr) { 302 if (tmp->addr == addr) {
303 *p = tmp->next; 303 *p = tmp->next;
304 unmap_vm_area(tmp); 304 unmap_kernel_range((unsigned long)tmp->addr,
305 tmp->size);
305 kfree(tmp); 306 kfree(tmp);
306 mutex_unlock(&imlist_mutex); 307 mutex_unlock(&imlist_mutex);
307 return; 308 return;