Skip to content
  • 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