1. 13 3月, 2010 1 次提交
    • F
      pci-dma: add include/linux/pci-dma.h · 5637f2df
      FUJITA Tomonori 提交于
      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: NFUJITA 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: NRussell King <rmk+kernel@arm.linux.org.uk>
      Acked-by: NDavid 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: NArnd Bergmann <arnd@arndb.de>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      5637f2df