clean up the DMA mapping headers

Christoph Hellwig
2020-09-30T08:56:10Z

Hi all,

this series cleans up the dma-mapping headers by moving everything not
required by normal drivers out of <linux/dma-mapping.h> into a new
<linux/dma-map-ops.h> and then folding most other DMA mapping related
headers either into the new dma-map-ops.h one, or by moving them to
kernel/dma/ and thus out of the global scope. A bunch of cleanups
for the DMA CMA code are thrown in as well, as they help keeping the
exposed bits in the header small.

Diffstat:
arch/arm/include/asm/dma-contiguous.h | 15
b/Documentation/admin-guide/kernel-parameters.txt | 2
b/MAINTAINERS | 2
b/arch/alpha/kernel/pci_iommu.c | 2
b/arch/arc/mm/dma.c | 2
b/arch/arm/common/dmabounce.c | 1
b/arch/arm/include/asm/dma-iommu.h | 1
b/arch/arm/include/asm/dma-mapping.h | 1
b/arch/arm/mach-davinci/devices-da8xx.c | 18 -
b/arch/arm/mach-highbank/highbank.c | 2
b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c | 2
b/arch/arm/mach-imx/mach-mx31moboard.c | 2
b/arch/arm/mach-mvebu/coherency.c | 2
b/arch/arm/mach-shmobile/setup-rcar-gen2.c | 2
b/arch/arm/mm/dma-mapping-nommu.c | 1
b/arch/arm/mm/dma-mapping.c | 5
b/arch/arm/mm/init.c | 2
b/arch/arm/xen/mm.c | 2
b/arch/arm64/mm/dma-mapping.c | 2
b/arch/arm64/mm/init.c | 3
b/arch/c6x/mm/dma-coherent.c | 2
b/arch/csky/kernel/setup.c | 2
b/arch/csky/mm/dma-mapping.c | 4
b/arch/hexagon/kernel/dma.c | 2
b/arch/ia64/hp/common/sba_iommu.c | 2
b/arch/ia64/kernel/dma-mapping.c | 2
b/arch/ia64/mm/init.c | 2
b/arch/m68k/kernel/dma.c | 2
b/arch/microblaze/kernel/dma.c | 3
b/arch/microblaze/mm/consistent.c | 2
b/arch/microblaze/mm/init.c | 2
b/arch/mips/jazz/jazzdma.c | 2
b/arch/mips/kernel/setup.c | 2
b/arch/mips/mm/dma-noncoherent.c | 3
b/arch/nds32/kernel/dma.c | 2
b/arch/openrisc/kernel/dma.c | 2
b/arch/parisc/kernel/drivers.c | 1
b/arch/parisc/kernel/pci-dma.c | 2
b/arch/powerpc/include/asm/iommu.h | 2
b/arch/powerpc/include/asm/pci.h | 2
b/arch/powerpc/mm/dma-noncoherent.c | 2
b/arch/powerpc/platforms/ps3/system-bus.c | 2
b/arch/powerpc/platforms/pseries/ibmebus.c | 2
b/arch/powerpc/platforms/pseries/vio.c | 2
b/arch/s390/kernel/setup.c | 2
b/arch/s390/pci/pci_dma.c | 2
b/arch/sh/boards/mach-ap325rxa/setup.c | 1
b/arch/sh/boards/mach-ecovec24/setup.c | 1
b/arch/sh/boards/mach-kfr2r09/setup.c | 2
b/arch/sh/boards/mach-migor/setup.c | 2
b/arch/sh/boards/mach-se/7724/setup.c | 1
b/arch/sh/drivers/pci/fixups-dreamcast.c | 2
b/arch/sh/drivers/pci/pci.c | 1
b/arch/sh/kernel/dma-coherent.c | 2
b/arch/sparc/kernel/iommu.c | 2
b/arch/sparc/kernel/ioport.c | 2
b/arch/sparc/kernel/pci_sun4v.c | 1
b/arch/sparc/mm/io-unit.c | 2
b/arch/sparc/mm/iommu.c | 2
b/arch/x86/include/asm/dma-mapping.h | 2
b/arch/x86/kernel/amd_gart_64.c | 1
b/arch/x86/kernel/pci-dma.c | 2
b/arch/x86/kernel/setup.c | 2
b/arch/x86/xen/pci-swiotlb-xen.c | 2
b/arch/xtensa/kernel/pci-dma.c | 3
b/arch/xtensa/mm/init.c | 2
b/drivers/acpi/arm64/iort.c | 2
b/drivers/acpi/scan.c | 2
b/drivers/base/dd.c | 2
b/drivers/dma-buf/heaps/cma_heap.c | 2
b/drivers/gpu/drm/exynos/exynos_drm_dma.c | 2
b/drivers/gpu/drm/msm/msm_gem.c | 1
b/drivers/iommu/amd/iommu.c | 3
b/drivers/iommu/dma-iommu.c | 3
b/drivers/iommu/intel/iommu.c | 4
b/drivers/media/platform/exynos4-is/fimc-is.c | 1
b/drivers/misc/mic/bus/mic_bus.c | 1
b/drivers/misc/mic/bus/scif_bus.c | 2
b/drivers/misc/mic/bus/scif_bus.h | 2
b/drivers/misc/mic/bus/vop_bus.c | 2
b/drivers/misc/mic/host/mic_boot.c | 1
b/drivers/of/device.c | 1
b/drivers/parisc/ccio-dma.c | 1
b/drivers/parisc/sba_iommu.c | 1
b/drivers/pci/pci-driver.c | 1
b/drivers/pci/xen-pcifront.c | 1
b/drivers/remoteproc/remoteproc_core.c | 1
b/drivers/remoteproc/remoteproc_virtio.c | 2
b/drivers/vdpa/vdpa_sim/vdpa_sim.c | 2
b/drivers/xen/swiotlb-xen.c | 2
b/include/asm-generic/Kbuild | 1
b/include/linux/dma-direct.h | 108 -------
b/include/linux/dma-map-ops.h | 339 ++++++++++++++++++++++
b/include/linux/dma-mapping.h | 172 -----------
b/kernel/dma/Kconfig | 2
b/kernel/dma/coherent.c | 1
b/kernel/dma/contiguous.c | 42 ++
b/kernel/dma/debug.c | 5
b/kernel/dma/debug.h | 44 --
b/kernel/dma/direct.c | 4
b/kernel/dma/direct.h | 119 +++++++
b/kernel/dma/dummy.c | 2
b/kernel/dma/mapping.c | 5
b/kernel/dma/ops_helpers.c | 3
b/kernel/dma/pool.c | 3
b/kernel/dma/swiotlb.c | 2
b/kernel/dma/virt.c | 2
b/mm/memory.c | 1
include/asm-generic/dma-contiguous.h | 10
include/linux/dma-contiguous.h | 182 -----------
include/linux/dma-noncoherent.h | 109 -------
111 files changed, 620 insertions(+), 737 deletions(-)