Skip to content

Commit

Permalink
PCI: Move pci_dma_* helpers to common code
Browse files Browse the repository at this point in the history
For a long time all architectures implement the pci_dma_* functions using
the generic DMA API, and they all use the same header to do so.

Move this header, pci-dma-compat.h, to include/linux and include it from
the generic pci.h instead of having each arch duplicate this include.

Signed-off-by: Christoph Hellwig <[email protected]>
Signed-off-by: Bjorn Helgaas <[email protected]>
  • Loading branch information
Christoph Hellwig authored and bjorn-helgaas committed Mar 7, 2016
1 parent 611609b commit bc4b024
Show file tree
Hide file tree
Showing 23 changed files with 4 additions and 49 deletions.
7 changes: 0 additions & 7 deletions arch/alpha/include/asm/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,13 +65,6 @@ extern void pcibios_set_master(struct pci_dev *dev);
decisions. */
#define PCI_DMA_BUS_IS_PHYS 0

#ifdef CONFIG_PCI

/* implement the pci_ DMA API in terms of the generic device dma_ one */
#include <asm-generic/pci-dma-compat.h>

#endif

/* TODO: integrate with include/asm-generic/pci.h ? */
static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
{
Expand Down
1 change: 0 additions & 1 deletion arch/arm/include/asm/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
#define ASMARM_PCI_H

#ifdef __KERNEL__
#include <asm-generic/pci-dma-compat.h>
#include <asm/mach/pci.h> /* for pci_sys_data */

extern unsigned long pcibios_min_io;
Expand Down
1 change: 0 additions & 1 deletion arch/arm64/include/asm/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
#include <linux/dma-mapping.h>

#include <asm/io.h>
#include <asm-generic/pci-dma-compat.h>

#define PCIBIOS_MIN_IO 0x1000
#define PCIBIOS_MIN_MEM 0
Expand Down
2 changes: 0 additions & 2 deletions arch/avr32/include/asm/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,4 @@

#define PCI_DMA_BUS_IS_PHYS (1)

#include <asm-generic/pci-dma-compat.h>

#endif /* __ASM_AVR32_PCI_H__ */
1 change: 0 additions & 1 deletion arch/blackfin/include/asm/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
#define _ASM_BFIN_PCI_H

#include <linux/scatterlist.h>
#include <asm-generic/pci-dma-compat.h>
#include <asm-generic/pci.h>

#define PCIBIOS_MIN_IO 0x00001000
Expand Down
3 changes: 0 additions & 3 deletions arch/cris/include/asm/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,6 @@ extern int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma,

#endif /* __KERNEL__ */

/* implement the pci_ DMA API in terms of the generic device dma_ one */
#include <asm-generic/pci-dma-compat.h>

/* generic pci stuff */
#include <asm-generic/pci.h>

Expand Down
1 change: 0 additions & 1 deletion arch/frv/include/asm/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@

#include <linux/mm.h>
#include <linux/scatterlist.h>
#include <asm-generic/pci-dma-compat.h>
#include <asm-generic/pci.h>

struct pci_dev;
Expand Down
2 changes: 0 additions & 2 deletions arch/ia64/include/asm/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,6 @@ struct pci_dev;
extern unsigned long ia64_max_iommu_merge_mask;
#define PCI_DMA_BUS_IS_PHYS (ia64_max_iommu_merge_mask == ~0UL)

#include <asm-generic/pci-dma-compat.h>

#define HAVE_PCI_MMAP
extern int pci_mmap_page_range (struct pci_dev *dev, struct vm_area_struct *vma,
enum pci_mmap_state mmap_state, int write_combine);
Expand Down
1 change: 0 additions & 1 deletion arch/m68k/include/asm/pci.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
#ifndef _ASM_M68K_PCI_H
#define _ASM_M68K_PCI_H

#include <asm-generic/pci-dma-compat.h>
#include <asm-generic/pci.h>

/* The PCI address space does equal the physical memory
Expand Down
2 changes: 0 additions & 2 deletions arch/microblaze/include/asm/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@
#include <asm/prom.h>
#include <asm/pci-bridge.h>

#include <asm-generic/pci-dma-compat.h>

#define PCIBIOS_MIN_IO 0x1000
#define PCIBIOS_MIN_MEM 0x10000000

Expand Down
3 changes: 0 additions & 3 deletions arch/mips/include/asm/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -124,9 +124,6 @@ static inline int pci_proc_domain(struct pci_bus *bus)

#endif /* __KERNEL__ */

/* implement the pci_ DMA API in terms of the generic device dma_ one */
#include <asm-generic/pci-dma-compat.h>

/* Do platform specific device initialization at pci_enable_device() time */
extern int pcibios_plat_dev_init(struct pci_dev *dev);

Expand Down
3 changes: 0 additions & 3 deletions arch/mn10300/include/asm/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,6 @@ extern int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma,

#endif /* __KERNEL__ */

/* implement the pci_ DMA API in terms of the generic device dma_ one */
#include <asm-generic/pci-dma-compat.h>

static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
{
return channel ? 15 : 14;
Expand Down
3 changes: 0 additions & 3 deletions arch/parisc/include/asm/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -194,9 +194,6 @@ extern void pcibios_init_bridge(struct pci_dev *);
#define PCIBIOS_MIN_IO 0x10
#define PCIBIOS_MIN_MEM 0x1000 /* NBPG - but pci/setup-res.c dies */

/* export the pci_ DMA API in terms of the dma_ one */
#include <asm-generic/pci-dma-compat.h>

static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
{
return channel ? 15 : 14;
Expand Down
2 changes: 0 additions & 2 deletions arch/powerpc/include/asm/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@
#include <asm/prom.h>
#include <asm/pci-bridge.h>

#include <asm-generic/pci-dma-compat.h>

/* Return values for pci_controller_ops.probe_mode function */
#define PCI_PROBE_NONE -1 /* Don't look at this bus at all */
#define PCI_PROBE_NORMAL 0 /* Do normal PCI probing */
Expand Down
1 change: 0 additions & 1 deletion arch/s390/include/asm/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
#include <linux/pci.h>
#include <linux/mutex.h>
#include <asm-generic/pci.h>
#include <asm-generic/pci-dma-compat.h>
#include <asm/pci_clp.h>
#include <asm/pci_debug.h>

Expand Down
3 changes: 0 additions & 3 deletions arch/sh/include/asm/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -105,9 +105,6 @@ static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
return channel ? 15 : 14;
}

/* generic DMA-mapping stuff */
#include <asm-generic/pci-dma-compat.h>

#endif /* __KERNEL__ */
#endif /* __ASM_SH_PCI_H */

3 changes: 0 additions & 3 deletions arch/sparc/include/asm/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,4 @@
#else
#include <asm/pci_32.h>
#endif

#include <asm-generic/pci-dma-compat.h>

#endif
3 changes: 0 additions & 3 deletions arch/tile/include/asm/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,4 @@ static inline int pcibios_assign_all_busses(void)
/* Use any cpu for PCI. */
#define cpumask_of_pcibus(bus) cpu_online_mask

/* implement the pci_ DMA API in terms of the generic device dma_ one */
#include <asm-generic/pci-dma-compat.h>

#endif /* _ASM_TILE_PCI_H */
1 change: 0 additions & 1 deletion arch/unicore32/include/asm/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
#define __UNICORE_PCI_H__

#ifdef __KERNEL__
#include <asm-generic/pci-dma-compat.h>
#include <asm-generic/pci.h>
#include <mach/hardware.h> /* for PCIBIOS_MIN_* */

Expand Down
3 changes: 0 additions & 3 deletions arch/x86/include/asm/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -105,9 +105,6 @@ void native_restore_msi_irqs(struct pci_dev *dev);
#include <asm/pci_64.h>
#endif

/* implement the pci_ DMA API in terms of the generic device dma_ one */
#include <asm-generic/pci-dma-compat.h>

/* generic pci stuff */
#include <asm-generic/pci.h>

Expand Down
3 changes: 0 additions & 3 deletions arch/xtensa/include/asm/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,6 @@ int pci_mmap_page_range(struct pci_dev *pdev, struct vm_area_struct *vma,

#endif /* __KERNEL__ */

/* Implement the pci_ DMA API in terms of the generic device dma_ one */
#include <asm-generic/pci-dma-compat.h>

/* Generic PCI */
#include <asm-generic/pci.h>

Expand Down
File renamed without changes.
4 changes: 4 additions & 0 deletions include/linux/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -2011,4 +2011,8 @@ static inline bool pci_ari_enabled(struct pci_bus *bus)
{
return bus->self && bus->self->ari_enabled;
}

/* provide the legacy pci_dma_* API */
#include <linux/pci-dma-compat.h>

#endif /* LINUX_PCI_H */

0 comments on commit bc4b024

Please sign in to comment.