git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
arch
/
m68k
/
mm
/
kmap.c
diff --git
a/arch/m68k/mm/kmap.c
b/arch/m68k/mm/kmap.c
index
85ad19a
..
46b7d60
100644
(file)
--- a/
arch/m68k/mm/kmap.c
+++ b/
arch/m68k/mm/kmap.c
@@
-7,7
+7,7
@@
* used by other architectures /Roman Zippel
*/
* used by other architectures /Roman Zippel
*/
-#include <linux/
config
.h>
+#include <linux/
module
.h>
#include <linux/mm.h>
#include <linux/kernel.h>
#include <linux/string.h>
#include <linux/mm.h>
#include <linux/kernel.h>
#include <linux/string.h>
@@
-59,7
+59,7
@@
static struct vm_struct *get_io_area(unsigned long size)
unsigned long addr;
struct vm_struct **p, *tmp, *area;
unsigned long addr;
struct vm_struct **p, *tmp, *area;
- area =
(struct vm_struct *)
kmalloc(sizeof(*area), GFP_KERNEL);
+ area = kmalloc(sizeof(*area), GFP_KERNEL);
if (!area)
return NULL;
addr = KMAP_START;
if (!area)
return NULL;
addr = KMAP_START;
@@
-220,6
+220,7
@@
void __iomem *__ioremap(unsigned long physaddr, unsigned long size, int cachefla
return (void __iomem *)retaddr;
}
return (void __iomem *)retaddr;
}
+EXPORT_SYMBOL(__ioremap);
/*
* Unmap a ioremap()ed region again
/*
* Unmap a ioremap()ed region again
@@
-235,6
+236,7
@@
void iounmap(void __iomem *addr)
free_io_area((__force void *)addr);
#endif
}
free_io_area((__force void *)addr);
#endif
}
+EXPORT_SYMBOL(iounmap);
/*
* __iounmap unmaps nearly everything, so be careful
/*
* __iounmap unmaps nearly everything, so be careful
@@
-259,13
+261,15
@@
void __iounmap(void *addr, unsigned long size)
if (CPU_IS_020_OR_030) {
int pmd_off = (virtaddr/PTRTREESIZE) & 15;
if (CPU_IS_020_OR_030) {
int pmd_off = (virtaddr/PTRTREESIZE) & 15;
+ int pmd_type = pmd_dir->pmd[pmd_off] & _DESCTYPE_MASK;
- if (
(pmd_dir->pmd[pmd_off] & _DESCTYPE_MASK)
== _PAGE_PRESENT) {
+ if (
pmd_type
== _PAGE_PRESENT) {
pmd_dir->pmd[pmd_off] = 0;
virtaddr += PTRTREESIZE;
size -= PTRTREESIZE;
continue;
pmd_dir->pmd[pmd_off] = 0;
virtaddr += PTRTREESIZE;
size -= PTRTREESIZE;
continue;
- }
+ } else if (pmd_type == 0)
+ continue;
}
if (pmd_bad(*pmd_dir)) {
}
if (pmd_bad(*pmd_dir)) {
@@
-359,3
+363,4
@@
void kernel_set_cachemode(void *addr, unsigned long size, int cmode)
flush_tlb_all();
}
flush_tlb_all();
}
+EXPORT_SYMBOL(kernel_set_cachemode);