diff options
Diffstat (limited to 'include/linux/highmem.h')
| -rw-r--r-- | include/linux/highmem.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/include/linux/highmem.h b/include/linux/highmem.h index 645d440807c2..a515eb0afdfb 100644 --- a/include/linux/highmem.h +++ b/include/linux/highmem.h | |||
| @@ -27,6 +27,8 @@ static inline void flush_kernel_dcache_page(struct page *page) | |||
| 27 | unsigned int nr_free_highpages(void); | 27 | unsigned int nr_free_highpages(void); |
| 28 | extern unsigned long totalhigh_pages; | 28 | extern unsigned long totalhigh_pages; |
| 29 | 29 | ||
| 30 | void kmap_flush_unused(void); | ||
| 31 | |||
| 30 | #else /* CONFIG_HIGHMEM */ | 32 | #else /* CONFIG_HIGHMEM */ |
| 31 | 33 | ||
| 32 | static inline unsigned int nr_free_highpages(void) { return 0; } | 34 | static inline unsigned int nr_free_highpages(void) { return 0; } |
| @@ -42,11 +44,20 @@ static inline void *kmap(struct page *page) | |||
| 42 | 44 | ||
| 43 | #define kunmap(page) do { (void) (page); } while (0) | 45 | #define kunmap(page) do { (void) (page); } while (0) |
| 44 | 46 | ||
| 45 | #define kmap_atomic(page, idx) \ | 47 | #include <asm/kmap_types.h> |
| 46 | ({ pagefault_disable(); page_address(page); }) | 48 | |
| 49 | static inline void *kmap_atomic(struct page *page, enum km_type idx) | ||
| 50 | { | ||
| 51 | pagefault_disable(); | ||
| 52 | return page_address(page); | ||
| 53 | } | ||
| 54 | #define kmap_atomic_prot(page, idx, prot) kmap_atomic(page, idx) | ||
| 55 | |||
| 47 | #define kunmap_atomic(addr, idx) do { pagefault_enable(); } while (0) | 56 | #define kunmap_atomic(addr, idx) do { pagefault_enable(); } while (0) |
| 48 | #define kmap_atomic_pfn(pfn, idx) kmap_atomic(pfn_to_page(pfn), (idx)) | 57 | #define kmap_atomic_pfn(pfn, idx) kmap_atomic(pfn_to_page(pfn), (idx)) |
| 49 | #define kmap_atomic_to_page(ptr) virt_to_page(ptr) | 58 | #define kmap_atomic_to_page(ptr) virt_to_page(ptr) |
| 59 | |||
| 60 | #define kmap_flush_unused() do {} while(0) | ||
| 50 | #endif | 61 | #endif |
| 51 | 62 | ||
| 52 | #endif /* CONFIG_HIGHMEM */ | 63 | #endif /* CONFIG_HIGHMEM */ |
