diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2007-06-04 01:15:35 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-06-14 08:29:56 -0400 |
commit | c19c03fc749147f565e807fa65f1729066800571 (patch) | |
tree | d5ba2eb6d43b5001c93c42523fc5b2431ef61664 /arch/powerpc | |
parent | 3c8c90ab8810a8ebb38a5f1dde2595b750d5adff (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')
-rw-r--r-- | arch/powerpc/mm/imalloc.c | 3 | ||||
-rw-r--r-- | arch/powerpc/mm/pgtable_64.c | 1 |
2 files changed, 2 insertions, 2 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; |
diff --git a/arch/powerpc/mm/pgtable_64.c b/arch/powerpc/mm/pgtable_64.c index ad6e135bf212..fa5c828d3876 100644 --- a/arch/powerpc/mm/pgtable_64.c +++ b/arch/powerpc/mm/pgtable_64.c | |||
@@ -240,7 +240,6 @@ int __ioremap_explicit(phys_addr_t pa, unsigned long ea, | |||
240 | /* | 240 | /* |
241 | * Unmap an IO region and remove it from imalloc'd list. | 241 | * Unmap an IO region and remove it from imalloc'd list. |
242 | * Access to IO memory should be serialized by driver. | 242 | * Access to IO memory should be serialized by driver. |
243 | * This code is modeled after vmalloc code - unmap_vm_area() | ||
244 | * | 243 | * |
245 | * XXX what about calls before mem_init_done (ie python_countermeasures()) | 244 | * XXX what about calls before mem_init_done (ie python_countermeasures()) |
246 | */ | 245 | */ |