aboutsummaryrefslogtreecommitdiffstats
path: root/arch/microblaze/mm/pgtable.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-02-26 22:50:22 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2013-02-26 22:50:22 -0500
commit2b37e9a28afbd11f899738e912fb4a617a74b462 (patch)
tree9494e8bfed44e08f47d4b4c6007dc189f7c7896f /arch/microblaze/mm/pgtable.c
parenta9a07d40bc9c57881555b64fe8bf66fd28e2f13a (diff)
parent711e5b4520986380700e6f095608021cf087170e (diff)
Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze
Pull microblaze update from Michal Simek: "Microblaze changes. After my discussion with Arnd I have also added there asm-generic io patch which is Acked by him and Geert." * 'next' of git://git.monstr.eu/linux-2.6-microblaze: asm-generic: io: Fix ioread16/32be and iowrite16/32be microblaze: Do not use module.h in files which are not modules microblaze: Fix coding style issues microblaze: Add missing return from debugfs_tlb microblaze: Makefile clean microblaze: Add .gitignore entries for auto-generated files microblaze: Fix strncpy_from_user macro
Diffstat (limited to 'arch/microblaze/mm/pgtable.c')
-rw-r--r--arch/microblaze/mm/pgtable.c17
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
44unsigned long ioremap_base; 42unsigned long ioremap_base;
45unsigned long ioremap_bot; 43unsigned long ioremap_bot;
46EXPORT_SYMBOL(ioremap_bot); 44EXPORT_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}
129EXPORT_SYMBOL(ioremap); 126EXPORT_SYMBOL(ioremap);
130 127
131void iounmap(void *addr) 128void 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}
136EXPORT_SYMBOL(iounmap); 134EXPORT_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}