Skip to content

Commit

Permalink
add the common dma_addr_t typedef to include/linux/types.h
Browse files Browse the repository at this point in the history
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 <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: "H. Peter Anvin" <[email protected]>
Cc: Ivan Kokshaysky <[email protected]>
Cc: Richard Henderson <[email protected]>
Cc: Matt Turner <[email protected]>
Cc: "Luck, Tony" <[email protected]>
Cc: Ralf Baechle <[email protected]>
Cc: Benjamin Herrenschmidt <[email protected]>
Cc: Heiko Carstens <[email protected]>
Cc: Martin Schwidefsky <[email protected]>
Cc: Chris Metcalf <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
fujita authored and torvalds committed Mar 23, 2011
1 parent 8a06dc4 commit 3e50594
Show file tree
Hide file tree
Showing 19 changed files with 6 additions and 106 deletions.
1 change: 0 additions & 1 deletion arch/alpha/include/asm/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ typedef unsigned int umode_t;
#ifdef __KERNEL__
#ifndef __ASSEMBLY__

typedef u64 dma_addr_t;
typedef u64 dma64_addr_t;

#endif /* __ASSEMBLY__ */
Expand Down
3 changes: 0 additions & 3 deletions arch/arm/include/asm/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,6 @@ typedef unsigned short umode_t;

#ifndef __ASSEMBLY__

/* Dma addresses are 32-bits wide. */

typedef u32 dma_addr_t;
typedef u32 dma64_addr_t;

#endif /* __ASSEMBLY__ */
Expand Down
8 changes: 0 additions & 8 deletions arch/avr32/include/asm/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,6 @@ typedef unsigned short umode_t;

#define BITS_PER_LONG 32

#ifndef __ASSEMBLY__

/* Dma addresses are 32-bits wide. */

typedef u32 dma_addr_t;

#endif /* __ASSEMBLY__ */

#endif /* __KERNEL__ */


Expand Down
3 changes: 0 additions & 3 deletions arch/cris/include/asm/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,6 @@ typedef unsigned short umode_t;

#ifndef __ASSEMBLY__

/* Dma addresses are 32-bits wide, just like our other addresses. */

typedef u32 dma_addr_t;
typedef u32 dma64_addr_t;

#endif /* __ASSEMBLY__ */
Expand Down
8 changes: 0 additions & 8 deletions arch/frv/include/asm/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,6 @@ typedef unsigned short umode_t;

#define BITS_PER_LONG 32

#ifndef __ASSEMBLY__

/* Dma addresses are 32-bits wide. */

typedef u32 dma_addr_t;

#endif /* __ASSEMBLY__ */

#endif /* __KERNEL__ */

#endif /* _ASM_TYPES_H */
4 changes: 0 additions & 4 deletions arch/h8300/include/asm/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,6 @@ typedef unsigned short umode_t;

#define BITS_PER_LONG 32

/* Dma addresses are 32-bits wide. */

typedef u32 dma_addr_t;

#endif /* __KERNEL__ */

#endif /* __ASSEMBLY__ */
Expand Down
3 changes: 0 additions & 3 deletions arch/ia64/include/asm/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,6 @@ struct fnptr {
unsigned long gp;
};

/* DMA addresses are 64-bits wide, in general. */
typedef u64 dma_addr_t;

# endif /* __KERNEL__ */
#endif /* !__ASSEMBLY__ */

Expand Down
3 changes: 0 additions & 3 deletions arch/m32r/include/asm/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,6 @@ typedef unsigned short umode_t;

#ifndef __ASSEMBLY__

/* DMA addresses are 32-bits wide. */

typedef u32 dma_addr_t;
typedef u64 dma64_addr_t;

#endif /* __ASSEMBLY__ */
Expand Down
3 changes: 0 additions & 3 deletions arch/m68k/include/asm/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,6 @@ typedef unsigned short umode_t;

#ifndef __ASSEMBLY__

/* DMA addresses are always 32-bits wide */

typedef u32 dma_addr_t;
typedef u32 dma64_addr_t;

#endif /* __ASSEMBLY__ */
Expand Down
6 changes: 0 additions & 6 deletions arch/mips/include/asm/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,6 @@ typedef unsigned short umode_t;
#ifdef __KERNEL__
#ifndef __ASSEMBLY__

#if (defined(CONFIG_HIGHMEM) && defined(CONFIG_64BIT_PHYS_ADDR)) \
|| defined(CONFIG_64BIT)
typedef u64 dma_addr_t;
#else
typedef u32 dma_addr_t;
#endif
typedef u64 dma64_addr_t;

/*
Expand Down
7 changes: 0 additions & 7 deletions arch/mn10300/include/asm/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,6 @@ typedef unsigned short umode_t;

#define BITS_PER_LONG 32

#ifndef __ASSEMBLY__

/* Dma addresses are 32-bits wide. */
typedef u32 dma_addr_t;

#endif /* __ASSEMBLY__ */

#endif /* __KERNEL__ */

#endif /* _ASM_TYPES_H */
3 changes: 0 additions & 3 deletions arch/parisc/include/asm/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,6 @@ typedef unsigned short umode_t;

#ifndef __ASSEMBLY__

/* Dma addresses are 32-bits wide. */

typedef u32 dma_addr_t;
typedef u64 dma64_addr_t;

#endif /* __ASSEMBLY__ */
Expand Down
5 changes: 0 additions & 5 deletions arch/powerpc/include/asm/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,6 @@ typedef struct {

typedef __vector128 vector128;

#if defined(__powerpc64__) || defined(CONFIG_PHYS_64BIT)
typedef u64 dma_addr_t;
#else
typedef u32 dma_addr_t;
#endif
typedef u64 dma64_addr_t;

typedef struct {
Expand Down
6 changes: 0 additions & 6 deletions arch/s390/include/asm/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,6 @@ typedef __signed__ long saddr_t;
#ifndef __ASSEMBLY__

typedef u64 dma64_addr_t;
#ifdef __s390x__
/* DMA addresses come in 32-bit and 64-bit flavours. */
typedef u64 dma_addr_t;
#else
typedef u32 dma_addr_t;
#endif

#ifndef __s390x__
typedef union {
Expand Down
4 changes: 0 additions & 4 deletions arch/sparc/include/asm/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,6 @@ typedef unsigned short umode_t;

#ifndef __ASSEMBLY__

/* Dma addresses come in generic and 64-bit flavours. */

typedef u32 dma_addr_t;

#if defined(__arch64__)

/*** SPARC 64 bit ***/
Expand Down
8 changes: 0 additions & 8 deletions arch/x86/include/asm/types.h
Original file line number Diff line number Diff line change
@@ -1,20 +1,12 @@
#ifndef _ASM_X86_TYPES_H
#define _ASM_X86_TYPES_H

#define dma_addr_t dma_addr_t

#include <asm-generic/types.h>

#ifdef __KERNEL__
#ifndef __ASSEMBLY__

typedef u64 dma64_addr_t;
#if defined(CONFIG_X86_64) || defined(CONFIG_HIGHMEM64G)
/* DMA addresses come in 32-bit and 64-bit flavours. */
typedef u64 dma_addr_t;
#else
typedef u32 dma_addr_t;
#endif

#endif /* __ASSEMBLY__ */
#endif /* __KERNEL__ */
Expand Down
4 changes: 0 additions & 4 deletions arch/xtensa/include/asm/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,6 @@ typedef unsigned short umode_t;

#define BITS_PER_LONG 32

/* Dma addresses are 32-bits wide. */

typedef u32 dma_addr_t;

#endif /* __KERNEL__ */
#endif

Expand Down
27 changes: 0 additions & 27 deletions include/asm-generic/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,31 +12,4 @@ typedef unsigned short umode_t;

#endif /* __ASSEMBLY__ */

/*
* These aren't exported outside the kernel to avoid name space clashes
*/
#ifdef __KERNEL__
#ifndef __ASSEMBLY__
/*
* DMA addresses may be very different from physical addresses
* and pointers. i386 and powerpc may have 64 bit DMA on 32 bit
* systems, while sparc64 uses 32 bit DMA addresses for 64 bit
* physical addresses.
* This default defines dma_addr_t to have the same size as
* phys_addr_t, which is the most common way.
* Do not define the dma64_addr_t type, which never really
* worked.
*/
#ifndef dma_addr_t
#ifdef CONFIG_PHYS_ADDR_T_64BIT
typedef u64 dma_addr_t;
#else
typedef u32 dma_addr_t;
#endif /* CONFIG_PHYS_ADDR_T_64BIT */
#endif /* dma_addr_t */

#endif /* __ASSEMBLY__ */

#endif /* __KERNEL__ */

#endif /* _ASM_GENERIC_TYPES_H */
6 changes: 6 additions & 0 deletions include/linux/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,12 @@ typedef unsigned long blkcnt_t;
#define pgoff_t unsigned long
#endif

#ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT
typedef u64 dma_addr_t;
#else
typedef u32 dma_addr_t;
#endif /* dma_addr_t */

#endif /* __KERNEL__ */

/*
Expand Down

0 comments on commit 3e50594

Please sign in to comment.