|
@@ -42,8 +42,14 @@ static inline void *kmap(struct page *page)
|
|
|
|
|
|
#define kunmap(page) do { (void) (page); } while (0)
|
|
|
|
|
|
-#define kmap_atomic(page, idx) \
|
|
|
- ({ pagefault_disable(); page_address(page); })
|
|
|
+#include <asm/kmap_types.h>
|
|
|
+
|
|
|
+static inline void *kmap_atomic(struct page *page, enum km_type idx)
|
|
|
+{
|
|
|
+ pagefault_disable();
|
|
|
+ return page_address(page);
|
|
|
+}
|
|
|
+
|
|
|
#define kunmap_atomic(addr, idx) do { pagefault_enable(); } while (0)
|
|
|
#define kmap_atomic_pfn(pfn, idx) kmap_atomic(pfn_to_page(pfn), (idx))
|
|
|
#define kmap_atomic_to_page(ptr) virt_to_page(ptr)
|