Commit 77f6078a authored by Randy Dunlap's avatar Randy Dunlap Committed by Linus Torvalds

mm: highmem kernel-doc additions

Add kernel-doc comments to highmem.c.
Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 1b578df0
...@@ -104,8 +104,9 @@ static void flush_all_zero_pkmaps(void) ...@@ -104,8 +104,9 @@ static void flush_all_zero_pkmaps(void)
flush_tlb_kernel_range(PKMAP_ADDR(0), PKMAP_ADDR(LAST_PKMAP)); flush_tlb_kernel_range(PKMAP_ADDR(0), PKMAP_ADDR(LAST_PKMAP));
} }
/* Flush all unused kmap mappings in order to remove stray /**
mappings. */ * kmap_flush_unused - flush all unused kmap mappings in order to remove stray mappings
*/
void kmap_flush_unused(void) void kmap_flush_unused(void)
{ {
spin_lock(&kmap_lock); spin_lock(&kmap_lock);
...@@ -163,6 +164,14 @@ static inline unsigned long map_new_virtual(struct page *page) ...@@ -163,6 +164,14 @@ static inline unsigned long map_new_virtual(struct page *page)
return vaddr; return vaddr;
} }
/**
* kmap_high - map a highmem page into memory
* @page: &struct page to map
*
* Returns the page's virtual memory address.
*
* We cannot call this from interrupts, as it may block.
*/
void *kmap_high(struct page *page) void *kmap_high(struct page *page)
{ {
unsigned long vaddr; unsigned long vaddr;
...@@ -170,8 +179,6 @@ void *kmap_high(struct page *page) ...@@ -170,8 +179,6 @@ void *kmap_high(struct page *page)
/* /*
* For highmem pages, we can't trust "virtual" until * For highmem pages, we can't trust "virtual" until
* after we have the lock. * after we have the lock.
*
* We cannot call this from interrupts, as it may block
*/ */
spin_lock(&kmap_lock); spin_lock(&kmap_lock);
vaddr = (unsigned long)page_address(page); vaddr = (unsigned long)page_address(page);
...@@ -185,6 +192,10 @@ void *kmap_high(struct page *page) ...@@ -185,6 +192,10 @@ void *kmap_high(struct page *page)
EXPORT_SYMBOL(kmap_high); EXPORT_SYMBOL(kmap_high);
/**
* kunmap_high - map a highmem page into memory
* @page: &struct page to unmap
*/
void kunmap_high(struct page *page) void kunmap_high(struct page *page)
{ {
unsigned long vaddr; unsigned long vaddr;
...@@ -259,6 +270,12 @@ static struct page_address_slot *page_slot(struct page *page) ...@@ -259,6 +270,12 @@ static struct page_address_slot *page_slot(struct page *page)
return &page_address_htable[hash_ptr(page, PA_HASH_ORDER)]; return &page_address_htable[hash_ptr(page, PA_HASH_ORDER)];
} }
/**
* page_address - get the mapped virtual address of a page
* @page: &struct page to get the virtual address of
*
* Returns the page's virtual address.
*/
void *page_address(struct page *page) void *page_address(struct page *page)
{ {
unsigned long flags; unsigned long flags;
...@@ -288,6 +305,11 @@ void *page_address(struct page *page) ...@@ -288,6 +305,11 @@ void *page_address(struct page *page)
EXPORT_SYMBOL(page_address); EXPORT_SYMBOL(page_address);
/**
* set_page_address - set a page's virtual address
* @page: &struct page to set
* @virtual: virtual address to use
*/
void set_page_address(struct page *page, void *virtual) void set_page_address(struct page *page, void *virtual)
{ {
unsigned long flags; unsigned long flags;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment