diff -Naurp a/crypto/internal.h b/crypto/internal.h
--- a/crypto/internal.h	2003-07-19 14:09:06.000000000 +0200
+++ b/crypto/internal.h	2003-07-19 14:18:58.000000000 +0200
@@ -14,9 +14,9 @@
 #include <linux/mm.h>
 #include <linux/highmem.h>
 #include <linux/init.h>
+#include <linux/kmap_types.h>
 #include <asm/hardirq.h>
 #include <asm/softirq.h>
-#include <asm/kmap_types.h>
 
 extern enum km_type crypto_km_types[];
 
diff -Naurp a/include/asm-i386/fixmap.h b/include/asm-i386/fixmap.h
--- a/include/asm-i386/fixmap.h	2003-07-19 14:09:31.000000000 +0200
+++ b/include/asm-i386/fixmap.h	2003-07-19 14:18:58.000000000 +0200
@@ -20,7 +20,7 @@
 #include <asm/page.h>
 #ifdef CONFIG_HIGHMEM
 #include <linux/threads.h>
-#include <asm/kmap_types.h>
+#include <linux/kmap_types.h>
 #endif
 
 /*
diff -Naurp a/include/asm-i386/highmem.h b/include/asm-i386/highmem.h
--- a/include/asm-i386/highmem.h	2003-07-15 10:28:54.000000000 +0200
+++ b/include/asm-i386/highmem.h	2003-07-19 14:18:58.000000000 +0200
@@ -23,7 +23,6 @@
 #include <linux/config.h>
 #include <linux/init.h>
 #include <linux/interrupt.h>
-#include <asm/kmap_types.h>
 #include <asm/pgtable.h>
 
 #ifdef CONFIG_DEBUG_HIGHMEM
diff -Naurp a/include/asm-i386/kmap_types.h b/include/asm-i386/kmap_types.h
--- a/include/asm-i386/kmap_types.h	2003-07-19 14:09:31.000000000 +0200
+++ b/include/asm-i386/kmap_types.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,16 +0,0 @@
-#ifndef _ASM_KMAP_TYPES_H
-#define _ASM_KMAP_TYPES_H
-
-enum km_type {
-	KM_BOUNCE_READ,
-	KM_SKB_SUNRPC_DATA,
-	KM_SKB_DATA_SOFTIRQ,
-	KM_USER0,
-	KM_USER1,
-	KM_BH_IRQ,
-	KM_SOFTIRQ0,
-	KM_SOFTIRQ1,
-	KM_TYPE_NR
-};
-
-#endif
diff -Naurp a/include/asm-m68k/kmap_types.h b/include/asm-m68k/kmap_types.h
--- a/include/asm-m68k/kmap_types.h	2003-07-19 14:09:33.000000000 +0200
+++ b/include/asm-m68k/kmap_types.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,18 +0,0 @@
-#ifdef __KERNEL__
-#ifndef _ASM_KMAP_TYPES_H
-#define _ASM_KMAP_TYPES_H
-
-enum km_type {
-	KM_BOUNCE_READ,
-	KM_SKB_SUNRPC_DATA,
-	KM_SKB_DATA_SOFTIRQ,
-	KM_USER0,
-	KM_USER1,
-	KM_BH_IRQ,
-	KM_SOFTIRQ0,
-	KM_SOFTIRQ1,
-	KM_TYPE_NR
-};
-
-#endif
-#endif /* __KERNEL__ */
diff -Naurp a/include/asm-mips/fixmap.h b/include/asm-mips/fixmap.h
--- a/include/asm-mips/fixmap.h	2002-09-27 23:26:03.000000000 +0200
+++ b/include/asm-mips/fixmap.h	2003-07-19 14:18:58.000000000 +0200
@@ -18,7 +18,7 @@
 #include <asm/page.h>
 #ifdef CONFIG_HIGHMEM
 #include <linux/threads.h>
-#include <asm/kmap_types.h>
+#include <linux/kmap_types.h>
 #endif
 
 /*
diff -Naurp a/include/asm-mips/highmem.h b/include/asm-mips/highmem.h
--- a/include/asm-mips/highmem.h	2002-12-18 01:03:59.000000000 +0100
+++ b/include/asm-mips/highmem.h	2003-07-19 14:18:58.000000000 +0200
@@ -22,7 +22,6 @@
 
 #include <linux/init.h>
 #include <linux/interrupt.h>
-#include <asm/kmap_types.h>
 #include <asm/pgtable.h>
 
 /* undef for production */
diff -Naurp a/include/asm-mips/kmap_types.h b/include/asm-mips/kmap_types.h
--- a/include/asm-mips/kmap_types.h	2002-12-18 01:03:59.000000000 +0100
+++ b/include/asm-mips/kmap_types.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,16 +0,0 @@
-#ifndef _ASM_KMAP_TYPES_H
-#define _ASM_KMAP_TYPES_H
-
-enum km_type {
-	KM_BOUNCE_READ,
-	KM_SKB_SUNRPC_DATA,
-	KM_SKB_DATA_SOFTIRQ,
-	KM_USER0,
-	KM_USER1,
-	KM_BH_IRQ,
-	KM_SOFTIRQ0,
-	KM_SOFTIRQ1,
-	KM_TYPE_NR
-};
-
-#endif
diff -Naurp a/include/asm-ppc/highmem.h b/include/asm-ppc/highmem.h
--- a/include/asm-ppc/highmem.h	2003-07-19 14:09:33.000000000 +0200
+++ b/include/asm-ppc/highmem.h	2003-07-19 14:18:58.000000000 +0200
@@ -24,7 +24,7 @@
 
 #include <linux/init.h>
 #include <linux/interrupt.h>
-#include <asm/kmap_types.h>
+#include <linux/kmap_types.h>
 #include <asm/pgtable.h>
 
 /* undef for production */
diff -Naurp a/include/asm-ppc/kmap_types.h b/include/asm-ppc/kmap_types.h
--- a/include/asm-ppc/kmap_types.h	2003-07-19 14:09:33.000000000 +0200
+++ b/include/asm-ppc/kmap_types.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,18 +0,0 @@
-#ifdef __KERNEL__
-#ifndef _ASM_KMAP_TYPES_H
-#define _ASM_KMAP_TYPES_H
-
-enum km_type {
-	KM_BOUNCE_READ,
-	KM_SKB_SUNRPC_DATA,
-	KM_SKB_DATA_SOFTIRQ,
-	KM_USER0,
-	KM_USER1,
-	KM_BH_IRQ,
-	KM_SOFTIRQ0,
-	KM_SOFTIRQ1,
-	KM_TYPE_NR
-};
-
-#endif
-#endif /* __KERNEL__ */
diff -Naurp a/include/asm-ppc64/kmap_types.h b/include/asm-ppc64/kmap_types.h
--- a/include/asm-ppc64/kmap_types.h	2003-07-19 14:09:35.000000000 +0200
+++ b/include/asm-ppc64/kmap_types.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,23 +0,0 @@
-#ifdef __KERNEL__
-#ifndef _ASM_KMAP_TYPES_H
-#define _ASM_KMAP_TYPES_H
-
-enum km_type {
-	KM_BOUNCE_READ,
-	KM_SKB_SUNRPC_DATA,
-	KM_SKB_DATA_SOFTIRQ,
-	KM_USER0,
-	KM_USER1,
-	KM_BIO_SRC_IRQ,
-	KM_BIO_DST_IRQ,
-	KM_PTE0,
-	KM_PTE1,
-	KM_IRQ0,
-	KM_IRQ1,
-	KM_SOFTIRQ0,
-	KM_SOFTIRQ1,	
-	KM_TYPE_NR
-};
-
-#endif
-#endif /* __KERNEL__ */
diff -Naurp a/include/asm-sparc/highmem.h b/include/asm-sparc/highmem.h
--- a/include/asm-sparc/highmem.h	2003-07-15 10:28:56.000000000 +0200
+++ b/include/asm-sparc/highmem.h	2003-07-19 14:18:58.000000000 +0200
@@ -21,7 +21,7 @@
 #ifdef __KERNEL__
 
 #include <linux/interrupt.h>
-#include <asm/kmap_types.h>
+#include <linux/kmap_types.h>
 
 /* undef for production */
 #define HIGHMEM_DEBUG 1
diff -Naurp a/include/asm-sparc/kmap_types.h b/include/asm-sparc/kmap_types.h
--- a/include/asm-sparc/kmap_types.h	2003-07-19 14:09:37.000000000 +0200
+++ b/include/asm-sparc/kmap_types.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,16 +0,0 @@
-#ifndef _ASM_KMAP_TYPES_H
-#define _ASM_KMAP_TYPES_H
-
-enum km_type {
-	KM_BOUNCE_READ,
-	KM_SKB_SUNRPC_DATA,
-	KM_SKB_DATA_SOFTIRQ,
-	KM_USER0,
-	KM_USER1,
-	KM_BH_IRQ,
-	KM_SOFTIRQ0,
-	KM_SOFTIRQ1,
-	KM_TYPE_NR
-};
-
-#endif
diff -Naurp a/include/asm-sparc64/kmap_types.h b/include/asm-sparc64/kmap_types.h
--- a/include/asm-sparc64/kmap_types.h	2003-07-19 14:09:37.000000000 +0200
+++ b/include/asm-sparc64/kmap_types.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,20 +0,0 @@
-#ifndef _ASM_KMAP_TYPES_H
-#define _ASM_KMAP_TYPES_H
-
-/* Dummy header just to define km_type.  None of this
- * is actually used on sparc64.  -DaveM
- */
-
-enum km_type {
-	KM_BOUNCE_READ,
-	KM_SKB_SUNRPC_DATA,
-	KM_SKB_DATA_SOFTIRQ,
-	KM_USER0,
-	KM_USER1,
-	KM_BH_IRQ,
-	KM_SOFTIRQ0,
-	KM_SOFTIRQ1,
-	KM_TYPE_NR
-};
-
-#endif
diff -Naurp a/include/asm-x86_64/kmap_types.h b/include/asm-x86_64/kmap_types.h
--- a/include/asm-x86_64/kmap_types.h	2003-07-19 14:09:37.000000000 +0200
+++ b/include/asm-x86_64/kmap_types.h	1970-01-01 01:00:00.000000000 +0100
@@ -1,15 +0,0 @@
-#ifndef _ASM_KMAP_TYPES_H
-#define _ASM_KMAP_TYPES_H
-
-enum km_type {
-	KM_BOUNCE_READ,
-	KM_SKB_DATA,
-	KM_SKB_DATA_SOFTIRQ,
-	KM_USER0,
-	KM_USER1,
-	KM_SOFTIRQ0,
-	KM_SOFTIRQ1,
-	KM_TYPE_NR
-};
-
-#endif
diff -Naurp a/include/linux/highmem.h b/include/linux/highmem.h
--- a/include/linux/highmem.h	2003-07-19 14:09:37.000000000 +0200
+++ b/include/linux/highmem.h	2003-07-19 14:18:58.000000000 +0200
@@ -2,6 +2,7 @@
 #define _LINUX_HIGHMEM_H
 
 #include <linux/config.h>
+#include <linux/kmap_types.h>
 #include <asm/pgalloc.h>
 
 #ifdef CONFIG_HIGHMEM
diff -Naurp a/include/linux/kmap_types.h b/include/linux/kmap_types.h
--- a/include/linux/kmap_types.h	1970-01-01 01:00:00.000000000 +0100
+++ b/include/linux/kmap_types.h	2003-07-19 14:18:58.000000000 +0200
@@ -0,0 +1,16 @@
+#ifndef _LINUX_KMAP_TYPES_H
+#define _LINUX_KMAP_TYPES_H
+
+enum km_type {
+	KM_BOUNCE_READ,
+	KM_SKB_SUNRPC_DATA,
+	KM_SKB_DATA_SOFTIRQ,
+	KM_USER0,
+	KM_USER1,
+	KM_BH_IRQ,
+	KM_SOFTIRQ0,
+	KM_SOFTIRQ1,
+	KM_TYPE_NR
+};
+
+#endif
