aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-msm/Kconfig3
-rw-r--r--arch/ia64/Kconfig3
-rw-r--r--arch/x86/Kconfig5
-rw-r--r--drivers/Kconfig2
-rw-r--r--drivers/Makefile1
-rw-r--r--drivers/base/Makefile1
-rw-r--r--drivers/iommu/Kconfig3
-rw-r--r--drivers/iommu/Makefile1
-rw-r--r--drivers/iommu/iommu.c (renamed from drivers/base/iommu.c)0
9 files changed, 9 insertions, 10 deletions
diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig
index 1516896e8d17..efb7b7dfc20b 100644
--- a/arch/arm/mach-msm/Kconfig
+++ b/arch/arm/mach-msm/Kconfig
@@ -205,9 +205,6 @@ config MSM_GPIOMUX
205config MSM_V2_TLMM 205config MSM_V2_TLMM
206 bool 206 bool
207 207
208config IOMMU_API
209 bool
210
211config MSM_SCM 208config MSM_SCM
212 bool 209 bool
213endif 210endif
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index 38280ef4a2af..9929e4e11ea0 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -681,6 +681,3 @@ source "lib/Kconfig"
681 681
682config IOMMU_HELPER 682config IOMMU_HELPER
683 def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB) 683 def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB)
684
685config IOMMU_API
686 def_bool (DMAR)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index da349723d411..460d57370016 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -685,6 +685,7 @@ config AMD_IOMMU
685 select SWIOTLB 685 select SWIOTLB
686 select PCI_MSI 686 select PCI_MSI
687 select PCI_IOV 687 select PCI_IOV
688 select IOMMU_API
688 depends on X86_64 && PCI && ACPI 689 depends on X86_64 && PCI && ACPI
689 ---help--- 690 ---help---
690 With this option you can enable support for AMD IOMMU hardware in 691 With this option you can enable support for AMD IOMMU hardware in
@@ -720,9 +721,6 @@ config SWIOTLB
720config IOMMU_HELPER 721config IOMMU_HELPER
721 def_bool (CALGARY_IOMMU || GART_IOMMU || SWIOTLB || AMD_IOMMU) 722 def_bool (CALGARY_IOMMU || GART_IOMMU || SWIOTLB || AMD_IOMMU)
722 723
723config IOMMU_API
724 def_bool (AMD_IOMMU || DMAR)
725
726config MAXSMP 724config MAXSMP
727 bool "Enable Maximum number of SMP Processors and NUMA Nodes" 725 bool "Enable Maximum number of SMP Processors and NUMA Nodes"
728 depends on X86_64 && SMP && DEBUG_KERNEL && EXPERIMENTAL 726 depends on X86_64 && SMP && DEBUG_KERNEL && EXPERIMENTAL
@@ -1945,6 +1943,7 @@ config PCI_CNB20LE_QUIRK
1945config DMAR 1943config DMAR
1946 bool "Support for DMA Remapping Devices (EXPERIMENTAL)" 1944 bool "Support for DMA Remapping Devices (EXPERIMENTAL)"
1947 depends on PCI_MSI && ACPI && EXPERIMENTAL 1945 depends on PCI_MSI && ACPI && EXPERIMENTAL
1946 select IOMMU_API
1948 help 1947 help
1949 DMA remapping (DMAR) devices support enables independent address 1948 DMA remapping (DMAR) devices support enables independent address
1950 translations for Direct Memory Access (DMA) from devices. 1949 translations for Direct Memory Access (DMA) from devices.
diff --git a/drivers/Kconfig b/drivers/Kconfig
index 3bb154d8c8cc..9d513188b47a 100644
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
@@ -126,4 +126,6 @@ source "drivers/hwspinlock/Kconfig"
126 126
127source "drivers/clocksource/Kconfig" 127source "drivers/clocksource/Kconfig"
128 128
129source "drivers/iommu/Kconfig"
130
129endmenu 131endmenu
diff --git a/drivers/Makefile b/drivers/Makefile
index 09f3232bcdcd..2f7a71a933de 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -122,3 +122,4 @@ obj-y += ieee802154/
122obj-y += clk/ 122obj-y += clk/
123 123
124obj-$(CONFIG_HWSPINLOCK) += hwspinlock/ 124obj-$(CONFIG_HWSPINLOCK) += hwspinlock/
125obj-$(CONFIG_IOMMU_API) += iommu/
diff --git a/drivers/base/Makefile b/drivers/base/Makefile
index 4c5701c15f53..5ab0d07c4578 100644
--- a/drivers/base/Makefile
+++ b/drivers/base/Makefile
@@ -13,7 +13,6 @@ obj-$(CONFIG_FW_LOADER) += firmware_class.o
13obj-$(CONFIG_NUMA) += node.o 13obj-$(CONFIG_NUMA) += node.o
14obj-$(CONFIG_MEMORY_HOTPLUG_SPARSE) += memory.o 14obj-$(CONFIG_MEMORY_HOTPLUG_SPARSE) += memory.o
15obj-$(CONFIG_SMP) += topology.o 15obj-$(CONFIG_SMP) += topology.o
16obj-$(CONFIG_IOMMU_API) += iommu.o
17ifeq ($(CONFIG_SYSFS),y) 16ifeq ($(CONFIG_SYSFS),y)
18obj-$(CONFIG_MODULES) += module.o 17obj-$(CONFIG_MODULES) += module.o
19endif 18endif
diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig
new file mode 100644
index 000000000000..2c5dfb48a22a
--- /dev/null
+++ b/drivers/iommu/Kconfig
@@ -0,0 +1,3 @@
1# IOMMU_API always gets selected by whoever wants it.
2config IOMMU_API
3 bool
diff --git a/drivers/iommu/Makefile b/drivers/iommu/Makefile
new file mode 100644
index 000000000000..241ba4c46a19
--- /dev/null
+++ b/drivers/iommu/Makefile
@@ -0,0 +1 @@
obj-$(CONFIG_IOMMU_API) += iommu.o
diff --git a/drivers/base/iommu.c b/drivers/iommu/iommu.c
index 6e6b6a11b3ce..6e6b6a11b3ce 100644
--- a/drivers/base/iommu.c
+++ b/drivers/iommu/iommu.c