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

add the common dma_addr_t typedef to include/linux/types.h

All architectures can use the common dma_addr_t typedef now. We can
remove the arch specific dma_addr_t.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Matt Turner <mattst88@gmail.com>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Chris Metcalf <cmetcalf@tilera.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

FUJITA Tomonori and committed by
Linus Torvalds
3e50594e 8a06dc4d

+6 -106
-1
arch/alpha/include/asm/types.h
··· 27 27 #ifdef __KERNEL__ 28 28 #ifndef __ASSEMBLY__ 29 29 30 - typedef u64 dma_addr_t; 31 30 typedef u64 dma64_addr_t; 32 31 33 32 #endif /* __ASSEMBLY__ */
-3
arch/arm/include/asm/types.h
··· 18 18 19 19 #ifndef __ASSEMBLY__ 20 20 21 - /* Dma addresses are 32-bits wide. */ 22 - 23 - typedef u32 dma_addr_t; 24 21 typedef u32 dma64_addr_t; 25 22 26 23 #endif /* __ASSEMBLY__ */
-8
arch/avr32/include/asm/types.h
··· 23 23 24 24 #define BITS_PER_LONG 32 25 25 26 - #ifndef __ASSEMBLY__ 27 - 28 - /* Dma addresses are 32-bits wide. */ 29 - 30 - typedef u32 dma_addr_t; 31 - 32 - #endif /* __ASSEMBLY__ */ 33 - 34 26 #endif /* __KERNEL__ */ 35 27 36 28
-3
arch/cris/include/asm/types.h
··· 18 18 19 19 #ifndef __ASSEMBLY__ 20 20 21 - /* Dma addresses are 32-bits wide, just like our other addresses. */ 22 - 23 - typedef u32 dma_addr_t; 24 21 typedef u32 dma64_addr_t; 25 22 26 23 #endif /* __ASSEMBLY__ */
-8
arch/frv/include/asm/types.h
··· 27 27 28 28 #define BITS_PER_LONG 32 29 29 30 - #ifndef __ASSEMBLY__ 31 - 32 - /* Dma addresses are 32-bits wide. */ 33 - 34 - typedef u32 dma_addr_t; 35 - 36 - #endif /* __ASSEMBLY__ */ 37 - 38 30 #endif /* __KERNEL__ */ 39 31 40 32 #endif /* _ASM_TYPES_H */
-4
arch/h8300/include/asm/types.h
··· 22 22 23 23 #define BITS_PER_LONG 32 24 24 25 - /* Dma addresses are 32-bits wide. */ 26 - 27 - typedef u32 dma_addr_t; 28 - 29 25 #endif /* __KERNEL__ */ 30 26 31 27 #endif /* __ASSEMBLY__ */
-3
arch/ia64/include/asm/types.h
··· 40 40 unsigned long gp; 41 41 }; 42 42 43 - /* DMA addresses are 64-bits wide, in general. */ 44 - typedef u64 dma_addr_t; 45 - 46 43 # endif /* __KERNEL__ */ 47 44 #endif /* !__ASSEMBLY__ */ 48 45
-3
arch/m32r/include/asm/types.h
··· 18 18 19 19 #ifndef __ASSEMBLY__ 20 20 21 - /* DMA addresses are 32-bits wide. */ 22 - 23 - typedef u32 dma_addr_t; 24 21 typedef u64 dma64_addr_t; 25 22 26 23 #endif /* __ASSEMBLY__ */
-3
arch/m68k/include/asm/types.h
··· 25 25 26 26 #ifndef __ASSEMBLY__ 27 27 28 - /* DMA addresses are always 32-bits wide */ 29 - 30 - typedef u32 dma_addr_t; 31 28 typedef u32 dma64_addr_t; 32 29 33 30 #endif /* __ASSEMBLY__ */
-6
arch/mips/include/asm/types.h
··· 33 33 #ifdef __KERNEL__ 34 34 #ifndef __ASSEMBLY__ 35 35 36 - #if (defined(CONFIG_HIGHMEM) && defined(CONFIG_64BIT_PHYS_ADDR)) \ 37 - || defined(CONFIG_64BIT) 38 - typedef u64 dma_addr_t; 39 - #else 40 - typedef u32 dma_addr_t; 41 - #endif 42 36 typedef u64 dma64_addr_t; 43 37 44 38 /*
-7
arch/mn10300/include/asm/types.h
··· 26 26 27 27 #define BITS_PER_LONG 32 28 28 29 - #ifndef __ASSEMBLY__ 30 - 31 - /* Dma addresses are 32-bits wide. */ 32 - typedef u32 dma_addr_t; 33 - 34 - #endif /* __ASSEMBLY__ */ 35 - 36 29 #endif /* __KERNEL__ */ 37 30 38 31 #endif /* _ASM_TYPES_H */
-3
arch/parisc/include/asm/types.h
··· 16 16 17 17 #ifndef __ASSEMBLY__ 18 18 19 - /* Dma addresses are 32-bits wide. */ 20 - 21 - typedef u32 dma_addr_t; 22 19 typedef u64 dma64_addr_t; 23 20 24 21 #endif /* __ASSEMBLY__ */
-5
arch/powerpc/include/asm/types.h
··· 44 44 45 45 typedef __vector128 vector128; 46 46 47 - #if defined(__powerpc64__) || defined(CONFIG_PHYS_64BIT) 48 - typedef u64 dma_addr_t; 49 - #else 50 - typedef u32 dma_addr_t; 51 - #endif 52 47 typedef u64 dma64_addr_t; 53 48 54 49 typedef struct {
-6
arch/s390/include/asm/types.h
··· 31 31 #ifndef __ASSEMBLY__ 32 32 33 33 typedef u64 dma64_addr_t; 34 - #ifdef __s390x__ 35 - /* DMA addresses come in 32-bit and 64-bit flavours. */ 36 - typedef u64 dma_addr_t; 37 - #else 38 - typedef u32 dma_addr_t; 39 - #endif 40 34 41 35 #ifndef __s390x__ 42 36 typedef union {
-4
arch/sparc/include/asm/types.h
··· 22 22 23 23 #ifndef __ASSEMBLY__ 24 24 25 - /* Dma addresses come in generic and 64-bit flavours. */ 26 - 27 - typedef u32 dma_addr_t; 28 - 29 25 #if defined(__arch64__) 30 26 31 27 /*** SPARC 64 bit ***/
-8
arch/x86/include/asm/types.h
··· 1 1 #ifndef _ASM_X86_TYPES_H 2 2 #define _ASM_X86_TYPES_H 3 3 4 - #define dma_addr_t dma_addr_t 5 - 6 4 #include <asm-generic/types.h> 7 5 8 6 #ifdef __KERNEL__ 9 7 #ifndef __ASSEMBLY__ 10 8 11 9 typedef u64 dma64_addr_t; 12 - #if defined(CONFIG_X86_64) || defined(CONFIG_HIGHMEM64G) 13 - /* DMA addresses come in 32-bit and 64-bit flavours. */ 14 - typedef u64 dma_addr_t; 15 - #else 16 - typedef u32 dma_addr_t; 17 - #endif 18 10 19 11 #endif /* __ASSEMBLY__ */ 20 12 #endif /* __KERNEL__ */
-4
arch/xtensa/include/asm/types.h
··· 32 32 33 33 #define BITS_PER_LONG 32 34 34 35 - /* Dma addresses are 32-bits wide. */ 36 - 37 - typedef u32 dma_addr_t; 38 - 39 35 #endif /* __KERNEL__ */ 40 36 #endif 41 37
-27
include/asm-generic/types.h
··· 12 12 13 13 #endif /* __ASSEMBLY__ */ 14 14 15 - /* 16 - * These aren't exported outside the kernel to avoid name space clashes 17 - */ 18 - #ifdef __KERNEL__ 19 - #ifndef __ASSEMBLY__ 20 - /* 21 - * DMA addresses may be very different from physical addresses 22 - * and pointers. i386 and powerpc may have 64 bit DMA on 32 bit 23 - * systems, while sparc64 uses 32 bit DMA addresses for 64 bit 24 - * physical addresses. 25 - * This default defines dma_addr_t to have the same size as 26 - * phys_addr_t, which is the most common way. 27 - * Do not define the dma64_addr_t type, which never really 28 - * worked. 29 - */ 30 - #ifndef dma_addr_t 31 - #ifdef CONFIG_PHYS_ADDR_T_64BIT 32 - typedef u64 dma_addr_t; 33 - #else 34 - typedef u32 dma_addr_t; 35 - #endif /* CONFIG_PHYS_ADDR_T_64BIT */ 36 - #endif /* dma_addr_t */ 37 - 38 - #endif /* __ASSEMBLY__ */ 39 - 40 - #endif /* __KERNEL__ */ 41 - 42 15 #endif /* _ASM_GENERIC_TYPES_H */
+6
include/linux/types.h
··· 150 150 #define pgoff_t unsigned long 151 151 #endif 152 152 153 + #ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT 154 + typedef u64 dma_addr_t; 155 + #else 156 + typedef u32 dma_addr_t; 157 + #endif /* dma_addr_t */ 158 + 153 159 #endif /* __KERNEL__ */ 154 160 155 161 /*