diff options
Diffstat (limited to 'debian/patches/bugfix/m68k/kmap_atomic-inline.diff')
-rw-r--r-- | debian/patches/bugfix/m68k/kmap_atomic-inline.diff | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/debian/patches/bugfix/m68k/kmap_atomic-inline.diff b/debian/patches/bugfix/m68k/kmap_atomic-inline.diff new file mode 100644 index 000000000000..3f6c50f5e50b --- /dev/null +++ b/debian/patches/bugfix/m68k/kmap_atomic-inline.diff @@ -0,0 +1,30 @@ +Subject: [PATCH] Convert non-highmem kmap_atomic() to static inline function + +Convert kmap_atomic() in the non-highmem case from a macro to a static +inline function, for better type-checking and the ability to pass void +pointers instead of struct page pointers. + +Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> +--- + include/linux/highmem.h | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +--- linux-m68k-2.6.21.orig/include/linux/highmem.h ++++ linux-m68k-2.6.21/include/linux/highmem.h +@@ -42,8 +42,14 @@ static inline void *kmap(struct page *pa + + #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) |