X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-kernel.git;a=blobdiff_plain;f=mm%2Fhighmem.c;h=2a07f97dabf11bceb05e69be4143d6cc06a7bd12;hp=57d82c6250c308e36089f81a8e902b729391335e;hb=refs%2Fheads%2Fpandora-3.2-.57-wip;hpb=0a4ebed781dbb9ecbfef2374d29da1ab3b1a63f3 diff --git a/mm/highmem.c b/mm/highmem.c index 57d82c6250c3..2a07f97dabf1 100644 --- a/mm/highmem.c +++ b/mm/highmem.c @@ -94,6 +94,19 @@ static DECLARE_WAIT_QUEUE_HEAD(pkmap_map_wait); do { spin_unlock(&kmap_lock); (void)(flags); } while (0) #endif +struct page *kmap_to_page(void *vaddr) +{ + unsigned long addr = (unsigned long)vaddr; + + if (addr >= PKMAP_ADDR(0) && addr <= PKMAP_ADDR(LAST_PKMAP)) { + int i = (addr - PKMAP_ADDR(0)) >> PAGE_SHIFT; + return pte_page(pkmap_page_table[i]); + } + + return virt_to_page(addr); +} +EXPORT_SYMBOL(kmap_to_page); + static void flush_all_zero_pkmaps(void) { int i;