Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

kmap_types: make most arches use generic header file

Convert most arches to use asm-generic/kmap_types.h.

Move the KM_FENCE_ macro additions into asm-generic/kmap_types.h,
controlled by __WITH_KM_FENCE from each arch's kmap_types.h file.

Would be nice to be able to add custom KM_types per arch, but I don't yet
see a nice, clean way to do that.

Built on x86_64, i386, mips, sparc, alpha(tonyb), powerpc(tonyb), and
68k(tonyb).

Note: avr32 should be able to remove KM_PTE2 (since it's not used) and
then just use the generic kmap_types.h file. Get avr32 maintainer
approval.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: <linux-arch@vger.kernel.org>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Bryan Wu <cooloney@kernel.org>
Cc: Mikael Starvik <starvik@axis.com>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: "Luck Tony" <tony.luck@intel.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: David Howells <dhowells@redhat.com>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Randy Dunlap and committed by
Linus Torvalds
e4c9dd0f b8d9a865

+31 -318
+3 -21
arch/alpha/include/asm/kmap_types.h
··· 3 3 4 4 /* Dummy header just to define km_type. */ 5 5 6 - 7 6 #ifdef CONFIG_DEBUG_HIGHMEM 8 - # define D(n) __KM_FENCE_##n , 9 - #else 10 - # define D(n) 7 + #define __WITH_KM_FENCE 11 8 #endif 12 9 13 - enum km_type { 14 - D(0) KM_BOUNCE_READ, 15 - D(1) KM_SKB_SUNRPC_DATA, 16 - D(2) KM_SKB_DATA_SOFTIRQ, 17 - D(3) KM_USER0, 18 - D(4) KM_USER1, 19 - D(5) KM_BIO_SRC_IRQ, 20 - D(6) KM_BIO_DST_IRQ, 21 - D(7) KM_PTE0, 22 - D(8) KM_PTE1, 23 - D(9) KM_IRQ0, 24 - D(10) KM_IRQ1, 25 - D(11) KM_SOFTIRQ0, 26 - D(12) KM_SOFTIRQ1, 27 - D(13) KM_TYPE_NR 28 - }; 10 + #include <asm-generic/kmap_types.h> 29 11 30 - #undef D 12 + #undef __WITH_KM_FENCE 31 13 32 14 #endif
+1 -16
arch/blackfin/include/asm/kmap_types.h
··· 1 1 #ifndef _ASM_KMAP_TYPES_H 2 2 #define _ASM_KMAP_TYPES_H 3 3 4 - enum km_type { 5 - KM_BOUNCE_READ, 6 - KM_SKB_SUNRPC_DATA, 7 - KM_SKB_DATA_SOFTIRQ, 8 - KM_USER0, 9 - KM_USER1, 10 - KM_BIO_SRC_IRQ, 11 - KM_BIO_DST_IRQ, 12 - KM_PTE0, 13 - KM_PTE1, 14 - KM_IRQ0, 15 - KM_IRQ1, 16 - KM_SOFTIRQ0, 17 - KM_SOFTIRQ1, 18 - KM_TYPE_NR 19 - }; 4 + #include <asm-generic/kmap_types.h> 20 5 21 6 #endif
+1 -16
arch/cris/include/asm/kmap_types.h
··· 5 5 * is actually used on cris. 6 6 */ 7 7 8 - enum km_type { 9 - KM_BOUNCE_READ, 10 - KM_SKB_SUNRPC_DATA, 11 - KM_SKB_DATA_SOFTIRQ, 12 - KM_USER0, 13 - KM_USER1, 14 - KM_BIO_SRC_IRQ, 15 - KM_BIO_DST_IRQ, 16 - KM_PTE0, 17 - KM_PTE1, 18 - KM_IRQ0, 19 - KM_IRQ1, 20 - KM_SOFTIRQ0, 21 - KM_SOFTIRQ1, 22 - KM_TYPE_NR 23 - }; 8 + #include <asm-generic/kmap_types.h> 24 9 25 10 #endif
+1 -16
arch/h8300/include/asm/kmap_types.h
··· 1 1 #ifndef _ASM_H8300_KMAP_TYPES_H 2 2 #define _ASM_H8300_KMAP_TYPES_H 3 3 4 - enum km_type { 5 - KM_BOUNCE_READ, 6 - KM_SKB_SUNRPC_DATA, 7 - KM_SKB_DATA_SOFTIRQ, 8 - KM_USER0, 9 - KM_USER1, 10 - KM_BIO_SRC_IRQ, 11 - KM_BIO_DST_IRQ, 12 - KM_PTE0, 13 - KM_PTE1, 14 - KM_IRQ0, 15 - KM_IRQ1, 16 - KM_SOFTIRQ0, 17 - KM_SOFTIRQ1, 18 - KM_TYPE_NR 19 - }; 4 + #include <asm-generic/kmap_types.h> 20 5 21 6 #endif
+3 -21
arch/ia64/include/asm/kmap_types.h
··· 1 1 #ifndef _ASM_IA64_KMAP_TYPES_H 2 2 #define _ASM_IA64_KMAP_TYPES_H 3 3 4 - 5 4 #ifdef CONFIG_DEBUG_HIGHMEM 6 - # define D(n) __KM_FENCE_##n , 7 - #else 8 - # define D(n) 5 + #define __WITH_KM_FENCE 9 6 #endif 10 7 11 - enum km_type { 12 - D(0) KM_BOUNCE_READ, 13 - D(1) KM_SKB_SUNRPC_DATA, 14 - D(2) KM_SKB_DATA_SOFTIRQ, 15 - D(3) KM_USER0, 16 - D(4) KM_USER1, 17 - D(5) KM_BIO_SRC_IRQ, 18 - D(6) KM_BIO_DST_IRQ, 19 - D(7) KM_PTE0, 20 - D(8) KM_PTE1, 21 - D(9) KM_IRQ0, 22 - D(10) KM_IRQ1, 23 - D(11) KM_SOFTIRQ0, 24 - D(12) KM_SOFTIRQ1, 25 - D(13) KM_TYPE_NR 26 - }; 8 + #include <asm-generic/kmap_types.h> 27 9 28 - #undef D 10 + #undef __WITH_KM_FENCE 29 11 30 12 #endif /* _ASM_IA64_KMAP_TYPES_H */
+3 -20
arch/m32r/include/asm/kmap_types.h
··· 2 2 #define __M32R_KMAP_TYPES_H 3 3 4 4 #ifdef CONFIG_DEBUG_HIGHMEM 5 - # define D(n) __KM_FENCE_##n , 6 - #else 7 - # define D(n) 5 + #define __WITH_KM_FENCE 8 6 #endif 9 7 10 - enum km_type { 11 - D(0) KM_BOUNCE_READ, 12 - D(1) KM_SKB_SUNRPC_DATA, 13 - D(2) KM_SKB_DATA_SOFTIRQ, 14 - D(3) KM_USER0, 15 - D(4) KM_USER1, 16 - D(5) KM_BIO_SRC_IRQ, 17 - D(6) KM_BIO_DST_IRQ, 18 - D(7) KM_PTE0, 19 - D(8) KM_PTE1, 20 - D(9) KM_IRQ0, 21 - D(10) KM_IRQ1, 22 - D(11) KM_SOFTIRQ0, 23 - D(12) KM_SOFTIRQ1, 24 - D(13) KM_TYPE_NR 25 - }; 8 + #include <asm-generic/kmap_types.h> 26 9 27 - #undef D 10 + #undef __WITH_KM_FENCE 28 11 29 12 #endif /* __M32R_KMAP_TYPES_H */
+1 -16
arch/m68k/include/asm/kmap_types.h
··· 1 1 #ifndef __ASM_M68K_KMAP_TYPES_H 2 2 #define __ASM_M68K_KMAP_TYPES_H 3 3 4 - enum km_type { 5 - KM_BOUNCE_READ, 6 - KM_SKB_SUNRPC_DATA, 7 - KM_SKB_DATA_SOFTIRQ, 8 - KM_USER0, 9 - KM_USER1, 10 - KM_BIO_SRC_IRQ, 11 - KM_BIO_DST_IRQ, 12 - KM_PTE0, 13 - KM_PTE1, 14 - KM_IRQ0, 15 - KM_IRQ1, 16 - KM_SOFTIRQ0, 17 - KM_SOFTIRQ1, 18 - KM_TYPE_NR 19 - }; 4 + #include <asm-generic/kmap_types.h> 20 5 21 6 #endif /* __ASM_M68K_KMAP_TYPES_H */
+1 -24
arch/microblaze/include/asm/kmap_types.h
··· 1 - /* 2 - * Copyright (C) 2006 Atmark Techno, Inc. 3 - * 4 - * This file is subject to the terms and conditions of the GNU General Public 5 - * License. See the file "COPYING" in the main directory of this archive 6 - * for more details. 7 - */ 8 - 9 1 #ifndef _ASM_MICROBLAZE_KMAP_TYPES_H 10 2 #define _ASM_MICROBLAZE_KMAP_TYPES_H 11 3 12 - enum km_type { 13 - KM_BOUNCE_READ, 14 - KM_SKB_SUNRPC_DATA, 15 - KM_SKB_DATA_SOFTIRQ, 16 - KM_USER0, 17 - KM_USER1, 18 - KM_BIO_SRC_IRQ, 19 - KM_BIO_DST_IRQ, 20 - KM_PTE0, 21 - KM_PTE1, 22 - KM_IRQ0, 23 - KM_IRQ1, 24 - KM_SOFTIRQ0, 25 - KM_SOFTIRQ1, 26 - KM_TYPE_NR, 27 - }; 4 + #include <asm-generic/kmap_types.h> 28 5 29 6 #endif /* _ASM_MICROBLAZE_KMAP_TYPES_H */
+3 -21
arch/mips/include/asm/kmap_types.h
··· 1 1 #ifndef _ASM_KMAP_TYPES_H 2 2 #define _ASM_KMAP_TYPES_H 3 3 4 - 5 4 #ifdef CONFIG_DEBUG_HIGHMEM 6 - # define D(n) __KM_FENCE_##n , 7 - #else 8 - # define D(n) 5 + #define __WITH_KM_FENCE 9 6 #endif 10 7 11 - enum km_type { 12 - D(0) KM_BOUNCE_READ, 13 - D(1) KM_SKB_SUNRPC_DATA, 14 - D(2) KM_SKB_DATA_SOFTIRQ, 15 - D(3) KM_USER0, 16 - D(4) KM_USER1, 17 - D(5) KM_BIO_SRC_IRQ, 18 - D(6) KM_BIO_DST_IRQ, 19 - D(7) KM_PTE0, 20 - D(8) KM_PTE1, 21 - D(9) KM_IRQ0, 22 - D(10) KM_IRQ1, 23 - D(11) KM_SOFTIRQ0, 24 - D(12) KM_SOFTIRQ1, 25 - D(13) KM_TYPE_NR 26 - }; 8 + #include <asm-generic/kmap_types.h> 27 9 28 - #undef D 10 + #undef __WITH_KM_FENCE 29 11 30 12 #endif
+1 -26
arch/mn10300/include/asm/kmap_types.h
··· 1 - /* MN10300 kmap_atomic() slot IDs 2 - * 3 - * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. 4 - * Written by David Howells (dhowells@redhat.com) 5 - * 6 - * This program is free software; you can redistribute it and/or 7 - * modify it under the terms of the GNU General Public Licence 8 - * as published by the Free Software Foundation; either version 9 - * 2 of the Licence, or (at your option) any later version. 10 - */ 11 1 #ifndef _ASM_KMAP_TYPES_H 12 2 #define _ASM_KMAP_TYPES_H 13 3 14 - enum km_type { 15 - KM_BOUNCE_READ, 16 - KM_SKB_SUNRPC_DATA, 17 - KM_SKB_DATA_SOFTIRQ, 18 - KM_USER0, 19 - KM_USER1, 20 - KM_BIO_SRC_IRQ, 21 - KM_BIO_DST_IRQ, 22 - KM_PTE0, 23 - KM_PTE1, 24 - KM_IRQ0, 25 - KM_IRQ1, 26 - KM_SOFTIRQ0, 27 - KM_SOFTIRQ1, 28 - KM_TYPE_NR 29 - }; 4 + #include <asm-generic/kmap_types.h> 30 5 31 6 #endif /* _ASM_KMAP_TYPES_H */
+3 -21
arch/parisc/include/asm/kmap_types.h
··· 1 1 #ifndef _ASM_KMAP_TYPES_H 2 2 #define _ASM_KMAP_TYPES_H 3 3 4 - 5 4 #ifdef CONFIG_DEBUG_HIGHMEM 6 - # define D(n) __KM_FENCE_##n , 7 - #else 8 - # define D(n) 5 + #define __WITH_KM_FENCE 9 6 #endif 10 7 11 - enum km_type { 12 - D(0) KM_BOUNCE_READ, 13 - D(1) KM_SKB_SUNRPC_DATA, 14 - D(2) KM_SKB_DATA_SOFTIRQ, 15 - D(3) KM_USER0, 16 - D(4) KM_USER1, 17 - D(5) KM_BIO_SRC_IRQ, 18 - D(6) KM_BIO_DST_IRQ, 19 - D(7) KM_PTE0, 20 - D(8) KM_PTE1, 21 - D(9) KM_IRQ0, 22 - D(10) KM_IRQ1, 23 - D(11) KM_SOFTIRQ0, 24 - D(12) KM_SOFTIRQ1, 25 - D(13) KM_TYPE_NR 26 - }; 8 + #include <asm-generic/kmap_types.h> 27 9 28 - #undef D 10 + #undef __WITH_KM_FENCE 29 11 30 12 #endif
+1 -16
arch/s390/include/asm/kmap_types.h
··· 2 2 #ifndef _ASM_KMAP_TYPES_H 3 3 #define _ASM_KMAP_TYPES_H 4 4 5 - enum km_type { 6 - KM_BOUNCE_READ, 7 - KM_SKB_SUNRPC_DATA, 8 - KM_SKB_DATA_SOFTIRQ, 9 - KM_USER0, 10 - KM_USER1, 11 - KM_BIO_SRC_IRQ, 12 - KM_BIO_DST_IRQ, 13 - KM_PTE0, 14 - KM_PTE1, 15 - KM_IRQ0, 16 - KM_IRQ1, 17 - KM_SOFTIRQ0, 18 - KM_SOFTIRQ1, 19 - KM_TYPE_NR 20 - }; 5 + #include <asm-generic/kmap_types.h> 21 6 22 7 #endif 23 8 #endif /* __KERNEL__ */
+3 -21
arch/sh/include/asm/kmap_types.h
··· 3 3 4 4 /* Dummy header just to define km_type. */ 5 5 6 - 7 6 #ifdef CONFIG_DEBUG_HIGHMEM 8 - # define D(n) __KM_FENCE_##n , 9 - #else 10 - # define D(n) 7 + #define __WITH_KM_FENCE 11 8 #endif 12 9 13 - enum km_type { 14 - D(0) KM_BOUNCE_READ, 15 - D(1) KM_SKB_SUNRPC_DATA, 16 - D(2) KM_SKB_DATA_SOFTIRQ, 17 - D(3) KM_USER0, 18 - D(4) KM_USER1, 19 - D(5) KM_BIO_SRC_IRQ, 20 - D(6) KM_BIO_DST_IRQ, 21 - D(7) KM_PTE0, 22 - D(8) KM_PTE1, 23 - D(9) KM_IRQ0, 24 - D(10) KM_IRQ1, 25 - D(11) KM_SOFTIRQ0, 26 - D(12) KM_SOFTIRQ1, 27 - D(13) KM_TYPE_NR 28 - }; 10 + #include <asm-generic/kmap_types.h> 29 11 30 - #undef D 12 + #undef __WITH_KM_FENCE 31 13 32 14 #endif
+1 -16
arch/sparc/include/asm/kmap_types.h
··· 5 5 * is actually used on sparc. -DaveM 6 6 */ 7 7 8 - enum km_type { 9 - KM_BOUNCE_READ, 10 - KM_SKB_SUNRPC_DATA, 11 - KM_SKB_DATA_SOFTIRQ, 12 - KM_USER0, 13 - KM_USER1, 14 - KM_BIO_SRC_IRQ, 15 - KM_BIO_DST_IRQ, 16 - KM_PTE0, 17 - KM_PTE1, 18 - KM_IRQ0, 19 - KM_IRQ1, 20 - KM_SOFTIRQ0, 21 - KM_SOFTIRQ1, 22 - KM_TYPE_NR 23 - }; 8 + #include <asm-generic/kmap_types.h> 24 9 25 10 #endif
+3 -20
arch/x86/include/asm/kmap_types.h
··· 2 2 #define _ASM_X86_KMAP_TYPES_H 3 3 4 4 #if defined(CONFIG_X86_32) && defined(CONFIG_DEBUG_HIGHMEM) 5 - # define D(n) __KM_FENCE_##n , 6 - #else 7 - # define D(n) 5 + #define __WITH_KM_FENCE 8 6 #endif 9 7 10 - enum km_type { 11 - D(0) KM_BOUNCE_READ, 12 - D(1) KM_SKB_SUNRPC_DATA, 13 - D(2) KM_SKB_DATA_SOFTIRQ, 14 - D(3) KM_USER0, 15 - D(4) KM_USER1, 16 - D(5) KM_BIO_SRC_IRQ, 17 - D(6) KM_BIO_DST_IRQ, 18 - D(7) KM_PTE0, 19 - D(8) KM_PTE1, 20 - D(9) KM_IRQ0, 21 - D(10) KM_IRQ1, 22 - D(11) KM_SOFTIRQ0, 23 - D(12) KM_SOFTIRQ1, 24 - D(13) KM_TYPE_NR 25 - }; 8 + #include <asm-generic/kmap_types.h> 26 9 27 - #undef D 10 + #undef __WITH_KM_FENCE 28 11 29 12 #endif /* _ASM_X86_KMAP_TYPES_H */
+1 -26
arch/xtensa/include/asm/kmap_types.h
··· 1 - /* 2 - * include/asm-xtensa/kmap_types.h 3 - * 4 - * This file is subject to the terms and conditions of the GNU General Public 5 - * License. See the file "COPYING" in the main directory of this archive 6 - * for more details. 7 - * 8 - * Copyright (C) 2001 - 2005 Tensilica Inc. 9 - */ 10 - 11 1 #ifndef _XTENSA_KMAP_TYPES_H 12 2 #define _XTENSA_KMAP_TYPES_H 13 3 14 - enum km_type { 15 - KM_BOUNCE_READ, 16 - KM_SKB_SUNRPC_DATA, 17 - KM_SKB_DATA_SOFTIRQ, 18 - KM_USER0, 19 - KM_USER1, 20 - KM_BIO_SRC_IRQ, 21 - KM_BIO_DST_IRQ, 22 - KM_PTE0, 23 - KM_PTE1, 24 - KM_IRQ0, 25 - KM_IRQ1, 26 - KM_SOFTIRQ0, 27 - KM_SOFTIRQ1, 28 - KM_TYPE_NR 29 - }; 4 + #include <asm-generic/kmap_types.h> 30 5 31 6 #endif /* _XTENSA_KMAP_TYPES_H */
+1 -1
include/asm-generic/kmap_types.h
··· 1 1 #ifndef _ASM_GENERIC_KMAP_TYPES_H 2 2 #define _ASM_GENERIC_KMAP_TYPES_H 3 3 4 - #ifdef CONFIG_DEBUG_HIGHMEM 4 + #ifdef __WITH_KM_FENCE 5 5 # define D(n) __KM_FENCE_##n , 6 6 #else 7 7 # define D(n)