1. 12 Mar, 2010 2 commits
    • FUJITA Tomonori's avatar
      dma-mapping.h: add the dma_unmap state API · 0acedc12
      FUJITA Tomonori authored
      Adds the following macros:
      
      DECLARE_DMA_UNMAP_ADDR(ADDR_NAME)
      DECLARE_DMA_UNMAP_LEN(LEN_NAME)
      dma_unmap_addr(PTR, ADDR_NAME)
      dma_unmap_addr_set(PTR, ADDR_NAME, VAL)
      dma_unmap_len(PTR, LEN_NAME)
      dma_unmap_len_set(PTR, LEN_NAME, VAL)
      
      The API corresponds to the pci_unmap state API.  We'll move to this new
      generic API from the PCI specific API in the long term.  As
      include/asm-generic/pci-dma-compat.h does, the pci_unmap API simply calls
      the new generic API for some time.
      Signed-off-by: default avatarFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Cc: James Bottomley <James.Bottomley@suse.de>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0acedc12
    • FUJITA Tomonori's avatar
      pci-dma: add include/linux/pci-dma.h · 5637f2df
      FUJITA Tomonori authored
      This patch adds include/linux/pci-dma.h that defines the pci_unmap state
      API:
      
      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.
      Signed-off-by: default avatarFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Matt Turner <mattst88@gmail.com>
      Acked-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Acked-by: default avatarDavid Howells <dhowells@redhat.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Helge Deller <deller@gmx.de>
      Cc: James Bottomley <James.Bottomley@suse.de>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Chris Zankel <chris@zankel.net>
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5637f2df