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    [W:0.030 / U:180.124 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site