clean up the DMA mapping headers

Christoph Hellwig hch at lst.de
Wed Sep 30 04:55:39 EDT 2020


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(-)



More information about the linux-arm-kernel mailing list