X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-kernel.git;a=blobdiff_plain;f=mm%2Fhighmem.c;h=09fc744d104e4b0417d7c183f5eb485105ca7524;hp=e159a7b1cc226c72cdb369f30852eb343491eddd;hb=dbbb3062dd53e7950a18bc05cca296fb2803b10b;hpb=70c9f18ca8f3652c7dcf715e9f0d41c399fe130d diff --git a/mm/highmem.c b/mm/highmem.c index e159a7b1cc22..09fc744d104e 100644 --- a/mm/highmem.c +++ b/mm/highmem.c @@ -17,7 +17,7 @@ */ #include -#include +#include #include #include #include @@ -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;