linux-arch.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH -mm 0/8] unify dma_addr_t typedef (CONFIG_ARCH_DMA_ADDR_T_64BIT)
@ 2010-09-03  0:51 FUJITA Tomonori
  2010-09-03  0:49 ` [PATCH -mm 1/8] x86: enable ARCH_DMA_ADDR_T_64BIT with X86_64 || HIGHMEM64G FUJITA Tomonori
                   ` (9 more replies)
  0 siblings, 10 replies; 21+ messages in thread
From: FUJITA Tomonori @ 2010-09-03  0:51 UTC (permalink / raw)
  To: akpm; +Cc: davem, linux-kernel, linux-arch

There are about twenty architectures have the own dma_addr_t typedef
because include/asm-generic/types.h can't be perfect (some of them can
use it though):

#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 */

Another problem is that there is a way to determine if dma_addr_t is
64-bit. We see hopeless tricks like the following:

#if (defined(__i386__) && defined(CONFIG_HIGHMEM64G)) || defined(__x86_64__) || defined (__ia64__) || defined(__alpha__) || defined(__mips64__) || (defined(__mips__) && defined(CONFIG_HIGHMEM) && defined(CONFIG_64BIT_PHYS_ADDR))

This clean up the mess with introducing CONFIG_ARCH_DMA_ADDR_T_64BIT
define (like CONFIG_ARCH_PHYS_ADDR_T_64BIT).

If architecture needs 64bit dma_addr_t, it must enable
CONFIG_ARCH_DMA_ADDR_T_64BIT.

The summary are:

- always 64bit
-- alpha
-- ia64
-- tile

- conditionally 64bit
-- x86
-- mips
-- powerpc
-- s390

- always 32bit
-- arm
-- avr32
-- cris
-- frv
-- h8300
-- m32r
-- m68k
-- mn10300
-- parisc
-- xtensa
-- sparc
-- blackfin
-- microblaze
-- score
-- sh

=
 arch/alpha/Kconfig               |    3 +++
 arch/alpha/include/asm/types.h   |    1 -
 arch/arm/include/asm/types.h     |    3 ---
 arch/avr32/include/asm/types.h   |    8 --------
 arch/cris/include/asm/types.h    |    3 ---
 arch/frv/include/asm/types.h     |    8 --------
 arch/h8300/include/asm/types.h   |    4 ----
 arch/ia64/Kconfig                |    3 +++
 arch/ia64/include/asm/types.h    |    3 ---
 arch/m32r/include/asm/types.h    |    3 ---
 arch/m68k/include/asm/types.h    |    3 ---
 arch/mips/Kconfig                |    3 +++
 arch/mips/include/asm/types.h    |    6 ------
 arch/mn10300/include/asm/types.h |    7 -------
 arch/parisc/include/asm/types.h  |    3 ---
 arch/powerpc/Kconfig             |    3 +++
 arch/powerpc/include/asm/types.h |    5 -----
 arch/s390/Kconfig                |    3 +++
 arch/s390/include/asm/types.h    |    6 ------
 arch/sparc/include/asm/types.h   |    4 ----
 arch/tile/Kconfig                |    3 +++
 arch/x86/Kconfig                 |    3 +++
 arch/x86/include/asm/types.h     |    8 --------
 arch/xtensa/include/asm/types.h  |    4 ----
 include/asm-generic/types.h      |   27 ---------------------------
 include/linux/types.h            |    6 ++++++
 26 files changed, 27 insertions(+), 106 deletions(-)

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2010-09-22  9:19 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-03  0:51 [PATCH -mm 0/8] unify dma_addr_t typedef (CONFIG_ARCH_DMA_ADDR_T_64BIT) FUJITA Tomonori
2010-09-03  0:49 ` [PATCH -mm 1/8] x86: enable ARCH_DMA_ADDR_T_64BIT with X86_64 || HIGHMEM64G FUJITA Tomonori
2010-09-03  0:49 ` [PATCH -mm 2/8] alpha: enable ARCH_DMA_ADDR_T_64BIT FUJITA Tomonori
2010-09-03  0:49 ` [PATCH -mm 3/8] ia64: " FUJITA Tomonori
2010-09-03  0:49 ` [PATCH -mm 4/8] mips: enable ARCH_DMA_ADDR_T_64BIT with (HIGHMEM && 64BIT_PHYS_ADDR) || 64BIT FUJITA Tomonori
2010-09-03  0:49   ` FUJITA Tomonori
2010-09-20 13:34   ` Ralf Baechle
2010-09-22  9:18     ` FUJITA Tomonori
2010-09-03  0:49 ` [PATCH -mm 5/8] powerpc: enable ARCH_DMA_ADDR_T_64BIT with ARCH_PHYS_ADDR_T_64BIT FUJITA Tomonori
2010-09-03  0:49   ` FUJITA Tomonori
2010-09-03  0:49 ` [PATCH -mm 6/8] s390: enable ARCH_DMA_ADDR_T_64BIT with 64BIT FUJITA Tomonori
2010-09-03  0:49 ` [PATCH -mm 7/8] tile: enable ARCH_DMA_ADDR_T_64BIT FUJITA Tomonori
2010-09-03  0:49   ` FUJITA Tomonori
2010-09-03  0:49 ` [PATCH -mm 8/8] add the common dma_addr_t typedef to include/linux/types.h FUJITA Tomonori
2010-09-03  0:49   ` FUJITA Tomonori
2010-09-03 12:19   ` Arnd Bergmann
2010-09-03 12:19     ` Arnd Bergmann
     [not found] ` <5uMrkKwSLHA.6664@exchange1.tad.internal.tilera.com>
2010-09-03  1:09   ` [PATCH -mm 7/8] tile: enable ARCH_DMA_ADDR_T_64BIT Chris Metcalf
2010-09-03 12:31     ` Chris Metcalf
2010-09-03 22:09 ` [PATCH -mm 0/8] unify dma_addr_t typedef (CONFIG_ARCH_DMA_ADDR_T_64BIT) Andrew Morton
2010-09-04  6:58   ` FUJITA Tomonori

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).