patch-2.4.10 linux/include/linux/highmem.h
Next file: linux/include/linux/i2c-algo-ite.h
Previous file: linux/include/linux/hiddev.h
Back to the patch index
Back to the overall index
- Lines: 37
- Date:
Sun Sep 23 10:31:02 2001
- Orig file:
v2.4.9/linux/include/linux/highmem.h
- Orig date:
Tue Aug 7 12:48:43 2001
diff -u --recursive --new-file v2.4.9/linux/include/linux/highmem.h linux/include/linux/highmem.h
@@ -11,7 +11,7 @@
#include <asm/highmem.h>
/* declarations for linux/mm/highmem.c */
-FASTCALL(unsigned int nr_free_highpages(void));
+unsigned int nr_free_highpages(void);
extern struct buffer_head * create_bounce(int rw, struct buffer_head * bh_orig);
@@ -45,8 +45,9 @@
/* when CONFIG_HIGHMEM is not set these will be plain clear/copy_page */
static inline void clear_user_highpage(struct page *page, unsigned long vaddr)
{
- clear_user_page(kmap(page), vaddr);
- kunmap(page);
+ void *addr = kmap_atomic(page, KM_USER0);
+ clear_user_page(addr, vaddr);
+ kunmap_atomic(addr, KM_USER0);
}
static inline void clear_highpage(struct page *page)
@@ -85,11 +86,11 @@
{
char *vfrom, *vto;
- vfrom = kmap(from);
- vto = kmap(to);
+ vfrom = kmap_atomic(from, KM_USER0);
+ vto = kmap_atomic(to, KM_USER1);
copy_user_page(vto, vfrom, vaddr);
- kunmap(from);
- kunmap(to);
+ kunmap_atomic(vfrom, KM_USER0);
+ kunmap_atomic(vto, KM_USER1);
}
static inline void copy_highpage(struct page *to, struct page *from)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)