drivers: iommu: move to a dedicated folder
Ohad Ben-Cohen [Wed, 1 Jun 2011 23:48:05 +0000 (02:48 +0300)]
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>

arch/arm/mach-msm/Kconfig
arch/ia64/Kconfig
arch/x86/Kconfig
drivers/Kconfig
drivers/Makefile
drivers/base/Makefile
drivers/iommu/Kconfig [new file with mode: 0644]
drivers/iommu/Makefile [new file with mode: 0644]
drivers/iommu/iommu.c [moved from drivers/base/iommu.c with 100% similarity]

index 1516896..efb7b7d 100644 (file)
@@ -205,9 +205,6 @@ config MSM_GPIOMUX
 config MSM_V2_TLMM
        bool
 
-config IOMMU_API
-       bool
-
 config MSM_SCM
        bool
 endif
index 38280ef..9929e4e 100644 (file)
@@ -681,6 +681,3 @@ source "lib/Kconfig"
 
 config IOMMU_HELPER
        def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB)
-
-config IOMMU_API
-       def_bool (DMAR)
index da34972..460d573 100644 (file)
@@ -685,6 +685,7 @@ config AMD_IOMMU
        select SWIOTLB
        select PCI_MSI
        select PCI_IOV
+       select IOMMU_API
        depends on X86_64 && PCI && ACPI
        ---help---
          With this option you can enable support for AMD IOMMU hardware in
@@ -720,9 +721,6 @@ config SWIOTLB
 config IOMMU_HELPER
        def_bool (CALGARY_IOMMU || GART_IOMMU || SWIOTLB || AMD_IOMMU)
 
-config IOMMU_API
-       def_bool (AMD_IOMMU || DMAR)
-
 config MAXSMP
        bool "Enable Maximum number of SMP Processors and NUMA Nodes"
        depends on X86_64 && SMP && DEBUG_KERNEL && EXPERIMENTAL
@@ -1945,6 +1943,7 @@ config PCI_CNB20LE_QUIRK
 config DMAR
        bool "Support for DMA Remapping Devices (EXPERIMENTAL)"
        depends on PCI_MSI && ACPI && EXPERIMENTAL
+       select IOMMU_API
        help
          DMA remapping (DMAR) devices support enables independent address
          translations for Direct Memory Access (DMA) from devices.
index 3bb154d..9d51318 100644 (file)
@@ -126,4 +126,6 @@ source "drivers/hwspinlock/Kconfig"
 
 source "drivers/clocksource/Kconfig"
 
+source "drivers/iommu/Kconfig"
+
 endmenu
index 09f3232..2f7a71a 100644 (file)
@@ -122,3 +122,4 @@ obj-y                               += ieee802154/
 obj-y                          += clk/
 
 obj-$(CONFIG_HWSPINLOCK)       += hwspinlock/
+obj-$(CONFIG_IOMMU_API)                += iommu/
index 4c5701c..5ab0d07 100644 (file)
@@ -13,7 +13,6 @@ obj-$(CONFIG_FW_LOADER)       += firmware_class.o
 obj-$(CONFIG_NUMA)     += node.o
 obj-$(CONFIG_MEMORY_HOTPLUG_SPARSE) += memory.o
 obj-$(CONFIG_SMP)      += topology.o
-obj-$(CONFIG_IOMMU_API) += iommu.o
 ifeq ($(CONFIG_SYSFS),y)
 obj-$(CONFIG_MODULES)  += module.o
 endif
diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig
new file mode 100644 (file)
index 0000000..2c5dfb4
--- /dev/null
@@ -0,0 +1,3 @@
+# IOMMU_API always gets selected by whoever wants it.
+config IOMMU_API
+       bool
diff --git a/drivers/iommu/Makefile b/drivers/iommu/Makefile
new file mode 100644 (file)
index 0000000..241ba4c
--- /dev/null
@@ -0,0 +1 @@
+obj-$(CONFIG_IOMMU_API) += iommu.o
similarity index 100%
rename from drivers/base/iommu.c
rename to drivers/iommu/iommu.c