arch/kmap: remove redundant arch specific kmaps
[linux-2.6-microblaze.git] / arch / csky / mm / highmem.c
index 8131291..4a3c273 100644 (file)
@@ -13,23 +13,17 @@ static pte_t *kmap_pte;
 
 unsigned long highstart_pfn, highend_pfn;
 
-void *kmap(struct page *page)
+void kmap_flush_tlb(unsigned long addr)
 {
-       void *addr;
-
-       might_sleep();
-       if (!PageHighMem(page))
-               return page_address(page);
-       addr = kmap_high(page);
-       flush_tlb_one((unsigned long)addr);
-
-       return addr;
+       flush_tlb_one(addr);
 }
+EXPORT_SYMBOL(kmap_flush_tlb);
+
 EXPORT_SYMBOL(kmap);
 
 void kunmap(struct page *page)
 {
-       BUG_ON(in_interrupt());
+       might_sleep();
        if (!PageHighMem(page))
                return;
        kunmap_high(page);