mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	dma-mapping: move all DMA mapping code to kernel/dma
Currently the code is split over various files with dma- prefixes in the lib/ and drives/base directories, and the number of files keeps growing. Move them into a single directory to keep the code together and remove the file name prefixes. To match the irq infrastructure this directory is placed under the kernel/ directory. Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
		
							parent
							
								
									e37460c1ca
								
							
						
					
					
						commit
						cf65a0f6f6
					
				
					 18 changed files with 69 additions and 72 deletions
				
			
		| 
						 | 
				
			
			@ -49,10 +49,10 @@ Device Drivers Base
 | 
			
		|||
Device Drivers DMA Management
 | 
			
		||||
-----------------------------
 | 
			
		||||
 | 
			
		||||
.. kernel-doc:: drivers/base/dma-coherent.c
 | 
			
		||||
.. kernel-doc:: kernel/dma/coherent.c
 | 
			
		||||
   :export:
 | 
			
		||||
 | 
			
		||||
.. kernel-doc:: drivers/base/dma-mapping.c
 | 
			
		||||
.. kernel-doc:: kernel/dma/mapping.c
 | 
			
		||||
   :export:
 | 
			
		||||
 | 
			
		||||
Device drivers PnP support
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4359,12 +4359,7 @@ L:	iommu@lists.linux-foundation.org
 | 
			
		|||
T:	git git://git.infradead.org/users/hch/dma-mapping.git
 | 
			
		||||
W:	http://git.infradead.org/users/hch/dma-mapping.git
 | 
			
		||||
S:	Supported
 | 
			
		||||
F:	lib/dma-debug.c
 | 
			
		||||
F:	lib/dma-direct.c
 | 
			
		||||
F:	lib/dma-noncoherent.c
 | 
			
		||||
F:	lib/dma-virt.c
 | 
			
		||||
F:	drivers/base/dma-mapping.c
 | 
			
		||||
F:	drivers/base/dma-coherent.c
 | 
			
		||||
F:	kernel/dma/
 | 
			
		||||
F:	include/asm-generic/dma-mapping.h
 | 
			
		||||
F:	include/linux/dma-direct.h
 | 
			
		||||
F:	include/linux/dma-mapping.h
 | 
			
		||||
| 
						 | 
				
			
			@ -13642,7 +13637,7 @@ M:	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
 | 
			
		|||
L:	iommu@lists.linux-foundation.org
 | 
			
		||||
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb.git
 | 
			
		||||
S:	Supported
 | 
			
		||||
F:	lib/swiotlb.c
 | 
			
		||||
F:	kernel/dma/swiotlb.c
 | 
			
		||||
F:	arch/*/kernel/pci-swiotlb.c
 | 
			
		||||
F:	include/linux/swiotlb.h
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,10 +8,7 @@ obj-y			:= component.o core.o bus.o dd.o syscore.o \
 | 
			
		|||
			   topology.o container.o property.o cacheinfo.o \
 | 
			
		||||
			   devcon.o
 | 
			
		||||
obj-$(CONFIG_DEVTMPFS)	+= devtmpfs.o
 | 
			
		||||
obj-$(CONFIG_DMA_CMA) += dma-contiguous.o
 | 
			
		||||
obj-y			+= power/
 | 
			
		||||
obj-$(CONFIG_HAS_DMA)	+= dma-mapping.o
 | 
			
		||||
obj-$(CONFIG_HAVE_GENERIC_DMA_COHERENT) += dma-coherent.o
 | 
			
		||||
obj-$(CONFIG_ISA_BUS_API)	+= isa.o
 | 
			
		||||
obj-y				+= firmware_loader/
 | 
			
		||||
obj-$(CONFIG_NUMA)	+= node.o
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -48,7 +48,7 @@
 | 
			
		|||
 *   CMA should not be used by the device drivers directly. It is
 | 
			
		||||
 *   only a helper framework for dma-mapping subsystem.
 | 
			
		||||
 *
 | 
			
		||||
 *   For more information, see kernel-docs in drivers/base/dma-contiguous.c
 | 
			
		||||
 *   For more information, see kernel-docs in kernel/dma/contiguous.c
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifdef __KERNEL__
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1719,10 +1719,6 @@ source "arch/Kconfig"
 | 
			
		|||
 | 
			
		||||
endmenu		# General setup
 | 
			
		||||
 | 
			
		||||
config HAVE_GENERIC_DMA_COHERENT
 | 
			
		||||
	bool
 | 
			
		||||
	default n
 | 
			
		||||
 | 
			
		||||
config RT_MUTEXES
 | 
			
		||||
	bool
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,6 +41,7 @@ obj-y += printk/
 | 
			
		|||
obj-y += irq/
 | 
			
		||||
obj-y += rcu/
 | 
			
		||||
obj-y += livepatch/
 | 
			
		||||
obj-y += dma/
 | 
			
		||||
 | 
			
		||||
obj-$(CONFIG_CHECKPOINT_RESTORE) += kcmp.o
 | 
			
		||||
obj-$(CONFIG_FREEZER) += freezer.o
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										50
									
								
								kernel/dma/Kconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								kernel/dma/Kconfig
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,50 @@
 | 
			
		|||
 | 
			
		||||
config HAS_DMA
 | 
			
		||||
	bool
 | 
			
		||||
	depends on !NO_DMA
 | 
			
		||||
	default y
 | 
			
		||||
 | 
			
		||||
config NEED_SG_DMA_LENGTH
 | 
			
		||||
	bool
 | 
			
		||||
 | 
			
		||||
config NEED_DMA_MAP_STATE
 | 
			
		||||
	bool
 | 
			
		||||
 | 
			
		||||
config ARCH_DMA_ADDR_T_64BIT
 | 
			
		||||
	def_bool 64BIT || PHYS_ADDR_T_64BIT
 | 
			
		||||
 | 
			
		||||
config HAVE_GENERIC_DMA_COHERENT
 | 
			
		||||
	bool
 | 
			
		||||
 | 
			
		||||
config ARCH_HAS_SYNC_DMA_FOR_DEVICE
 | 
			
		||||
	bool
 | 
			
		||||
 | 
			
		||||
config ARCH_HAS_SYNC_DMA_FOR_CPU
 | 
			
		||||
	bool
 | 
			
		||||
	select NEED_DMA_MAP_STATE
 | 
			
		||||
 | 
			
		||||
config DMA_DIRECT_OPS
 | 
			
		||||
	bool
 | 
			
		||||
	depends on HAS_DMA
 | 
			
		||||
 | 
			
		||||
config DMA_NONCOHERENT_OPS
 | 
			
		||||
	bool
 | 
			
		||||
	depends on HAS_DMA
 | 
			
		||||
	select DMA_DIRECT_OPS
 | 
			
		||||
 | 
			
		||||
config DMA_NONCOHERENT_MMAP
 | 
			
		||||
	bool
 | 
			
		||||
	depends on DMA_NONCOHERENT_OPS
 | 
			
		||||
 | 
			
		||||
config DMA_NONCOHERENT_CACHE_SYNC
 | 
			
		||||
	bool
 | 
			
		||||
	depends on DMA_NONCOHERENT_OPS
 | 
			
		||||
 | 
			
		||||
config DMA_VIRT_OPS
 | 
			
		||||
	bool
 | 
			
		||||
	depends on HAS_DMA
 | 
			
		||||
 | 
			
		||||
config SWIOTLB
 | 
			
		||||
	bool
 | 
			
		||||
	select DMA_DIRECT_OPS
 | 
			
		||||
	select NEED_DMA_MAP_STATE
 | 
			
		||||
							
								
								
									
										11
									
								
								kernel/dma/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								kernel/dma/Makefile
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,11 @@
 | 
			
		|||
# SPDX-License-Identifier: GPL-2.0
 | 
			
		||||
 | 
			
		||||
obj-$(CONFIG_HAS_DMA)			+= mapping.o
 | 
			
		||||
obj-$(CONFIG_DMA_CMA)			+= contiguous.o
 | 
			
		||||
obj-$(CONFIG_HAVE_GENERIC_DMA_COHERENT) += coherent.o
 | 
			
		||||
obj-$(CONFIG_DMA_DIRECT_OPS)		+= direct.o
 | 
			
		||||
obj-$(CONFIG_DMA_NONCOHERENT_OPS)	+= noncoherent.o
 | 
			
		||||
obj-$(CONFIG_DMA_VIRT_OPS)		+= virt.o
 | 
			
		||||
obj-$(CONFIG_DMA_API_DEBUG)		+= debug.o
 | 
			
		||||
obj-$(CONFIG_SWIOTLB)			+= swiotlb.o
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
// SPDX-License-Identifier: GPL-2.0
 | 
			
		||||
/*
 | 
			
		||||
 * drivers/base/dma-mapping.c - arch-independent dma-mapping routines
 | 
			
		||||
 * arch-independent dma-mapping routines
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright (c) 2006  SUSE Linux Products GmbH
 | 
			
		||||
 * Copyright (c) 2006  Tejun Heo <teheo@suse.de>
 | 
			
		||||
| 
						 | 
				
			
			@ -1,7 +1,5 @@
 | 
			
		|||
// SPDX-License-Identifier: GPL-2.0
 | 
			
		||||
/*
 | 
			
		||||
 *	lib/dma-virt.c
 | 
			
		||||
 *
 | 
			
		||||
 * DMA operations that map to virtual addresses without flushing memory.
 | 
			
		||||
 */
 | 
			
		||||
#include <linux/export.h>
 | 
			
		||||
							
								
								
									
										47
									
								
								lib/Kconfig
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								lib/Kconfig
									
									
									
									
									
								
							| 
						 | 
				
			
			@ -420,60 +420,15 @@ config HAS_IOPORT_MAP
 | 
			
		|||
	depends on HAS_IOMEM && !NO_IOPORT_MAP
 | 
			
		||||
	default y
 | 
			
		||||
 | 
			
		||||
config HAS_DMA
 | 
			
		||||
	bool
 | 
			
		||||
	depends on !NO_DMA
 | 
			
		||||
	default y
 | 
			
		||||
source "kernel/dma/Kconfig"
 | 
			
		||||
 | 
			
		||||
config SGL_ALLOC
 | 
			
		||||
	bool
 | 
			
		||||
	default n
 | 
			
		||||
 | 
			
		||||
config NEED_SG_DMA_LENGTH
 | 
			
		||||
	bool
 | 
			
		||||
 | 
			
		||||
config NEED_DMA_MAP_STATE
 | 
			
		||||
	bool
 | 
			
		||||
 | 
			
		||||
config ARCH_DMA_ADDR_T_64BIT
 | 
			
		||||
	def_bool 64BIT || PHYS_ADDR_T_64BIT
 | 
			
		||||
 | 
			
		||||
config IOMMU_HELPER
 | 
			
		||||
	bool
 | 
			
		||||
 | 
			
		||||
config ARCH_HAS_SYNC_DMA_FOR_DEVICE
 | 
			
		||||
	bool
 | 
			
		||||
 | 
			
		||||
config ARCH_HAS_SYNC_DMA_FOR_CPU
 | 
			
		||||
	bool
 | 
			
		||||
	select NEED_DMA_MAP_STATE
 | 
			
		||||
 | 
			
		||||
config DMA_DIRECT_OPS
 | 
			
		||||
	bool
 | 
			
		||||
	depends on HAS_DMA
 | 
			
		||||
 | 
			
		||||
config DMA_NONCOHERENT_OPS
 | 
			
		||||
	bool
 | 
			
		||||
	depends on HAS_DMA
 | 
			
		||||
	select DMA_DIRECT_OPS
 | 
			
		||||
 | 
			
		||||
config DMA_NONCOHERENT_MMAP
 | 
			
		||||
	bool
 | 
			
		||||
	depends on DMA_NONCOHERENT_OPS
 | 
			
		||||
 | 
			
		||||
config DMA_NONCOHERENT_CACHE_SYNC
 | 
			
		||||
	bool
 | 
			
		||||
	depends on DMA_NONCOHERENT_OPS
 | 
			
		||||
 | 
			
		||||
config DMA_VIRT_OPS
 | 
			
		||||
	bool
 | 
			
		||||
	depends on HAS_DMA
 | 
			
		||||
 | 
			
		||||
config SWIOTLB
 | 
			
		||||
	bool
 | 
			
		||||
	select DMA_DIRECT_OPS
 | 
			
		||||
	select NEED_DMA_MAP_STATE
 | 
			
		||||
 | 
			
		||||
config CHECK_SIGNATURE
 | 
			
		||||
	bool
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,9 +29,6 @@ lib-y := ctype.o string.o vsprintf.o cmdline.o \
 | 
			
		|||
lib-$(CONFIG_PRINTK) += dump_stack.o
 | 
			
		||||
lib-$(CONFIG_MMU) += ioremap.o
 | 
			
		||||
lib-$(CONFIG_SMP) += cpumask.o
 | 
			
		||||
obj-$(CONFIG_DMA_DIRECT_OPS) += dma-direct.o
 | 
			
		||||
obj-$(CONFIG_DMA_NONCOHERENT_OPS) += dma-noncoherent.o
 | 
			
		||||
obj-$(CONFIG_DMA_VIRT_OPS) += dma-virt.o
 | 
			
		||||
 | 
			
		||||
lib-y	+= kobject.o klist.o
 | 
			
		||||
obj-y	+= lockref.o
 | 
			
		||||
| 
						 | 
				
			
			@ -148,7 +145,6 @@ obj-$(CONFIG_SMP) += percpu_counter.o
 | 
			
		|||
obj-$(CONFIG_AUDIT_GENERIC) += audit.o
 | 
			
		||||
obj-$(CONFIG_AUDIT_COMPAT_GENERIC) += compat_audit.o
 | 
			
		||||
 | 
			
		||||
obj-$(CONFIG_SWIOTLB) += swiotlb.o
 | 
			
		||||
obj-$(CONFIG_IOMMU_HELPER) += iommu-helper.o
 | 
			
		||||
obj-$(CONFIG_FAULT_INJECTION) += fault-inject.o
 | 
			
		||||
obj-$(CONFIG_NOTIFIER_ERROR_INJECTION) += notifier-error-inject.o
 | 
			
		||||
| 
						 | 
				
			
			@ -169,8 +165,6 @@ obj-$(CONFIG_NLATTR) += nlattr.o
 | 
			
		|||
 | 
			
		||||
obj-$(CONFIG_LRU_CACHE) += lru_cache.o
 | 
			
		||||
 | 
			
		||||
obj-$(CONFIG_DMA_API_DEBUG) += dma-debug.o
 | 
			
		||||
 | 
			
		||||
obj-$(CONFIG_GENERIC_CSUM) += checksum.o
 | 
			
		||||
 | 
			
		||||
obj-$(CONFIG_GENERIC_ATOMIC64) += atomic64.o
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue