lkml.org 
[lkml]   [2010]   [Feb]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v2 -mm 00/14] adds include/linux/pci-dma.h
Date
This patch adds include/linux/pci-dma.h that defines the pci_unmap
state API to remove the duplication in architecture implementations:

DECLARE_PCI_UNMAP_ADDR(ADDR_NAME)
DECLARE_PCI_UNMAP_LEN(LEN_NAME)
pci_unmap_addr(PTR, ADDR_NAME)
pci_unmap_addr_set(PTR, ADDR_NAME, VAL)
pci_unmap_len(PTR, LEN_NAME)
pci_unmap_len_set(PTR, LEN_NAME, VAL)

This enables us to remove lots of the duplication in architecture
implementations since there are only two ways to define the API.

If architectures define CONFIG_NEED_DMA_MAP_STATE, they get the real
definition of pci_unmap state API. If not, they get the noop
definition.

In the long term, it's better to replace the API with the generic
device model API such as DECLARE_DMA_UNMAP_ADDR. We can map the API to
the generic one (like dma-mapping-compat.h does). This patch also
makes the migration process easier. We can remove this file after the
migration.

It might be simpler to add the API to include/linux/pci.h but looks
it's already too large. We'll remove pci-dma.h after finishing moving
to the generic device model. So I put the API to a separate file.

This is the second version of:

http://marc.info/?l=linux-kernel&m=126572502029999&w=2
=
arch/alpha/Kconfig | 3 +++
arch/alpha/include/asm/pci.h | 14 --------------
arch/arm/Kconfig | 3 +++
arch/arm/include/asm/pci.h | 11 -----------
arch/cris/include/asm/pci.h | 8 --------
arch/frv/include/asm/pci.h | 8 --------
arch/ia64/Kconfig | 3 +++
arch/ia64/include/asm/pci.h | 14 --------------
arch/mips/Kconfig | 4 ++--
arch/mips/include/asm/pci.h | 22 ----------------------
arch/parisc/Kconfig | 3 +++
arch/parisc/include/asm/pci.h | 14 --------------
arch/powerpc/Kconfig | 3 +++
arch/powerpc/include/asm/pci.h | 32 --------------------------------
arch/sh/Kconfig | 3 +++
arch/sh/include/asm/pci.h | 19 -------------------
arch/sparc/Kconfig | 3 +++
arch/sparc/include/asm/pci_32.h | 14 --------------
arch/sparc/include/asm/pci_64.h | 14 --------------
arch/x86/Kconfig | 3 +++
arch/x86/include/asm/pci.h | 28 ----------------------------
arch/xtensa/include/asm/pci.h | 8 --------
include/linux/pci-dma.h | 20 ++++++++++++++++++++
include/linux/pci.h | 1 +
24 files changed, 47 insertions(+), 208 deletions(-)




\
 
 \ /
  Last update: 2010-02-10 02:43    [from the cache]
©2003-2011 Jasper Spaans