浏览代码

drivers: iommu: move to a dedicated folder

Create a dedicated folder for iommu drivers, and move the base
iommu implementation over there.

Grouping the various iommu drivers in a single location will help
finding similar problems shared by different platforms, so they
could be solved once, in the iommu framework, instead of solved
differently (or duplicated) in each driver.

Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Ohad Ben-Cohen 14 年之前
父节点
当前提交
ab493a0f0f
共有 9 个文件被更改,包括 9 次插入10 次删除
  1. 0 3
      arch/arm/mach-msm/Kconfig
  2. 0 3
      arch/ia64/Kconfig
  3. 2 3
      arch/x86/Kconfig
  4. 2 0
      drivers/Kconfig
  5. 1 0
      drivers/Makefile
  6. 0 1
      drivers/base/Makefile
  7. 3 0
      drivers/iommu/Kconfig
  8. 1 0
      drivers/iommu/Makefile
  9. 0 0
      drivers/iommu/iommu.c

+ 0 - 3
arch/arm/mach-msm/Kconfig

@@ -205,9 +205,6 @@ config MSM_GPIOMUX
 config MSM_V2_TLMM
 config MSM_V2_TLMM
 	bool
 	bool
 
 
-config IOMMU_API
-	bool
-
 config MSM_SCM
 config MSM_SCM
 	bool
 	bool
 endif
 endif

+ 0 - 3
arch/ia64/Kconfig

@@ -681,6 +681,3 @@ source "lib/Kconfig"
 
 
 config IOMMU_HELPER
 config IOMMU_HELPER
 	def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB)
 	def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB)
-
-config IOMMU_API
-	def_bool (DMAR)

+ 2 - 3
arch/x86/Kconfig

@@ -685,6 +685,7 @@ config AMD_IOMMU
 	select SWIOTLB
 	select SWIOTLB
 	select PCI_MSI
 	select PCI_MSI
 	select PCI_IOV
 	select PCI_IOV
+	select IOMMU_API
 	depends on X86_64 && PCI && ACPI
 	depends on X86_64 && PCI && ACPI
 	---help---
 	---help---
 	  With this option you can enable support for AMD IOMMU hardware in
 	  With this option you can enable support for AMD IOMMU hardware in
@@ -720,9 +721,6 @@ config SWIOTLB
 config IOMMU_HELPER
 config IOMMU_HELPER
 	def_bool (CALGARY_IOMMU || GART_IOMMU || SWIOTLB || AMD_IOMMU)
 	def_bool (CALGARY_IOMMU || GART_IOMMU || SWIOTLB || AMD_IOMMU)
 
 
-config IOMMU_API
-	def_bool (AMD_IOMMU || DMAR)
-
 config MAXSMP
 config MAXSMP
 	bool "Enable Maximum number of SMP Processors and NUMA Nodes"
 	bool "Enable Maximum number of SMP Processors and NUMA Nodes"
 	depends on X86_64 && SMP && DEBUG_KERNEL && EXPERIMENTAL
 	depends on X86_64 && SMP && DEBUG_KERNEL && EXPERIMENTAL
@@ -1945,6 +1943,7 @@ config PCI_CNB20LE_QUIRK
 config DMAR
 config DMAR
 	bool "Support for DMA Remapping Devices (EXPERIMENTAL)"
 	bool "Support for DMA Remapping Devices (EXPERIMENTAL)"
 	depends on PCI_MSI && ACPI && EXPERIMENTAL
 	depends on PCI_MSI && ACPI && EXPERIMENTAL
+	select IOMMU_API
 	help
 	help
 	  DMA remapping (DMAR) devices support enables independent address
 	  DMA remapping (DMAR) devices support enables independent address
 	  translations for Direct Memory Access (DMA) from devices.
 	  translations for Direct Memory Access (DMA) from devices.

+ 2 - 0
drivers/Kconfig

@@ -126,4 +126,6 @@ source "drivers/hwspinlock/Kconfig"
 
 
 source "drivers/clocksource/Kconfig"
 source "drivers/clocksource/Kconfig"
 
 
+source "drivers/iommu/Kconfig"
+
 endmenu
 endmenu

+ 1 - 0
drivers/Makefile

@@ -122,3 +122,4 @@ obj-y				+= ieee802154/
 obj-y				+= clk/
 obj-y				+= clk/
 
 
 obj-$(CONFIG_HWSPINLOCK)	+= hwspinlock/
 obj-$(CONFIG_HWSPINLOCK)	+= hwspinlock/
+obj-$(CONFIG_IOMMU_API)		+= iommu/

+ 0 - 1
drivers/base/Makefile

@@ -13,7 +13,6 @@ obj-$(CONFIG_FW_LOADER)	+= firmware_class.o
 obj-$(CONFIG_NUMA)	+= node.o
 obj-$(CONFIG_NUMA)	+= node.o
 obj-$(CONFIG_MEMORY_HOTPLUG_SPARSE) += memory.o
 obj-$(CONFIG_MEMORY_HOTPLUG_SPARSE) += memory.o
 obj-$(CONFIG_SMP)	+= topology.o
 obj-$(CONFIG_SMP)	+= topology.o
-obj-$(CONFIG_IOMMU_API) += iommu.o
 ifeq ($(CONFIG_SYSFS),y)
 ifeq ($(CONFIG_SYSFS),y)
 obj-$(CONFIG_MODULES)	+= module.o
 obj-$(CONFIG_MODULES)	+= module.o
 endif
 endif

+ 3 - 0
drivers/iommu/Kconfig

@@ -0,0 +1,3 @@
+# IOMMU_API always gets selected by whoever wants it.
+config IOMMU_API
+	bool

+ 1 - 0
drivers/iommu/Makefile

@@ -0,0 +1 @@
+obj-$(CONFIG_IOMMU_API) += iommu.o

+ 0 - 0
drivers/base/iommu.c → drivers/iommu/iommu.c