diff options
Diffstat (limited to 'arch/microblaze/mm/pgtable.c')
-rw-r--r-- | arch/microblaze/mm/pgtable.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/arch/microblaze/mm/pgtable.c b/arch/microblaze/mm/pgtable.c index d1c06d07fed8..10b3bd0a980d 100644 --- a/arch/microblaze/mm/pgtable.c +++ b/arch/microblaze/mm/pgtable.c | |||
@@ -26,8 +26,8 @@ | |||
26 | * | 26 | * |
27 | */ | 27 | */ |
28 | 28 | ||
29 | #include <linux/export.h> | ||
29 | #include <linux/kernel.h> | 30 | #include <linux/kernel.h> |
30 | #include <linux/module.h> | ||
31 | #include <linux/types.h> | 31 | #include <linux/types.h> |
32 | #include <linux/vmalloc.h> | 32 | #include <linux/vmalloc.h> |
33 | #include <linux/init.h> | 33 | #include <linux/init.h> |
@@ -39,8 +39,6 @@ | |||
39 | #include <asm/sections.h> | 39 | #include <asm/sections.h> |
40 | #include <asm/fixmap.h> | 40 | #include <asm/fixmap.h> |
41 | 41 | ||
42 | #define flush_HPTE(X, va, pg) _tlbie(va) | ||
43 | |||
44 | unsigned long ioremap_base; | 42 | unsigned long ioremap_base; |
45 | unsigned long ioremap_bot; | 43 | unsigned long ioremap_bot; |
46 | EXPORT_SYMBOL(ioremap_bot); | 44 | EXPORT_SYMBOL(ioremap_bot); |
@@ -75,9 +73,8 @@ static void __iomem *__ioremap(phys_addr_t addr, unsigned long size, | |||
75 | p >= memory_start && p < virt_to_phys(high_memory) && | 73 | p >= memory_start && p < virt_to_phys(high_memory) && |
76 | !(p >= virt_to_phys((unsigned long)&__bss_stop) && | 74 | !(p >= virt_to_phys((unsigned long)&__bss_stop) && |
77 | p < virt_to_phys((unsigned long)__bss_stop))) { | 75 | p < virt_to_phys((unsigned long)__bss_stop))) { |
78 | printk(KERN_WARNING "__ioremap(): phys addr "PTE_FMT | 76 | pr_warn("__ioremap(): phys addr "PTE_FMT" is RAM lr %pf\n", |
79 | " is RAM lr %pf\n", (unsigned long)p, | 77 | (unsigned long)p, __builtin_return_address(0)); |
80 | __builtin_return_address(0)); | ||
81 | return NULL; | 78 | return NULL; |
82 | } | 79 | } |
83 | 80 | ||
@@ -128,9 +125,10 @@ void __iomem *ioremap(phys_addr_t addr, unsigned long size) | |||
128 | } | 125 | } |
129 | EXPORT_SYMBOL(ioremap); | 126 | EXPORT_SYMBOL(ioremap); |
130 | 127 | ||
131 | void iounmap(void *addr) | 128 | void iounmap(void __iomem *addr) |
132 | { | 129 | { |
133 | if (addr > high_memory && (unsigned long) addr < ioremap_bot) | 130 | if ((__force void *)addr > high_memory && |
131 | (unsigned long) addr < ioremap_bot) | ||
134 | vfree((void *) (PAGE_MASK & (unsigned long) addr)); | 132 | vfree((void *) (PAGE_MASK & (unsigned long) addr)); |
135 | } | 133 | } |
136 | EXPORT_SYMBOL(iounmap); | 134 | EXPORT_SYMBOL(iounmap); |
@@ -152,8 +150,7 @@ int map_page(unsigned long va, phys_addr_t pa, int flags) | |||
152 | set_pte_at(&init_mm, va, pg, pfn_pte(pa >> PAGE_SHIFT, | 150 | set_pte_at(&init_mm, va, pg, pfn_pte(pa >> PAGE_SHIFT, |
153 | __pgprot(flags))); | 151 | __pgprot(flags))); |
154 | if (unlikely(mem_init_done)) | 152 | if (unlikely(mem_init_done)) |
155 | flush_HPTE(0, va, pmd_val(*pd)); | 153 | _tlbie(va); |
156 | /* flush_HPTE(0, va, pg); */ | ||
157 | } | 154 | } |
158 | return err; | 155 | return err; |
159 | } | 156 | } |