diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig index e1e954d7486d3be5043d08d889ef1e925127a034..fa62037f1df666b7f16441087ae7c7d0ce69ca24 100644 --- a/arch/arm/plat-omap/Kconfig +++ b/arch/arm/plat-omap/Kconfig @@ -132,20 +132,6 @@ config OMAP_MBOX_KFIFO_SIZE This can also be changed at runtime (via the mbox_kfifo_size module parameter). -#can't be tristate; iommu api doesn't support un-registration -config OMAP_IOMMU - bool - select IOMMU_API - -config OMAP_IOMMU_DEBUG - tristate "Export OMAP IOMMU internals in DebugFS" - depends on OMAP_IOMMU && DEBUG_FS - help - Select this to see extensive information about - the internal state of OMAP IOMMU in debugfs. - - Say N unless you know you need this. - config OMAP_IOMMU_IVA2 bool diff --git a/arch/arm/plat-omap/Makefile b/arch/arm/plat-omap/Makefile index f0233e6abcdff0e9d72fe4967df9be6a36e8e4e6..985262242f25d994399511fa964b434c47cb18d6 100644 --- a/arch/arm/plat-omap/Makefile +++ b/arch/arm/plat-omap/Makefile @@ -18,8 +18,6 @@ obj-$(CONFIG_ARCH_OMAP3) += omap_device.o obj-$(CONFIG_ARCH_OMAP4) += omap_device.o obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o -obj-$(CONFIG_OMAP_IOMMU) += iommu.o iovmm.o -obj-$(CONFIG_OMAP_IOMMU_DEBUG) += iommu-debug.o obj-$(CONFIG_CPU_FREQ) += cpu-omap.o obj-$(CONFIG_OMAP_DM_TIMER) += dmtimer.o diff --git a/arch/arm/plat-omap/iopgtable.h b/arch/arm/plat-omap/include/plat/iopgtable.h similarity index 100% rename from arch/arm/plat-omap/iopgtable.h rename to arch/arm/plat-omap/include/plat/iopgtable.h diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig index b57b3fa492f3ea1f3717c2e29272c2c8ff6c11a3..432463b2e78d8dfa8d9ea7284edb94476da11037 100644 --- a/drivers/iommu/Kconfig +++ b/drivers/iommu/Kconfig @@ -107,4 +107,22 @@ config INTR_REMAP To use x2apic mode in the CPU's which support x2APIC enhancements or to support platforms with CPU's having > 8 bit APIC ID, say Y. +# OMAP IOMMU support +config OMAP_IOMMU + bool "OMAP IOMMU Support" + select IOMMU_API + +config OMAP_IOVMM + tristate + select OMAP_IOMMU + +config OMAP_IOMMU_DEBUG + tristate "Export OMAP IOMMU/IOVMM internals in DebugFS" + depends on OMAP_IOVMM && DEBUG_FS + help + Select this to see extensive information about + the internal state of OMAP IOMMU/IOVMM in debugfs. + + Say N unless you know you need this. + endif # IOMMU_SUPPORT diff --git a/drivers/iommu/Makefile b/drivers/iommu/Makefile index 4d4d77df7cacfa42f1cbea5db46428c19d67ab65..f798cdd3699e2081fbed2fec81eec9f409d155b2 100644 --- a/drivers/iommu/Makefile +++ b/drivers/iommu/Makefile @@ -3,3 +3,6 @@ obj-$(CONFIG_MSM_IOMMU) += msm_iommu.o msm_iommu_dev.o obj-$(CONFIG_AMD_IOMMU) += amd_iommu.o amd_iommu_init.o obj-$(CONFIG_DMAR) += dmar.o iova.o intel-iommu.o obj-$(CONFIG_INTR_REMAP) += dmar.o intr_remapping.o +obj-$(CONFIG_OMAP_IOMMU) += omap-iommu.o +obj-$(CONFIG_OMAP_IOVMM) += omap-iovmm.o +obj-$(CONFIG_OMAP_IOMMU_DEBUG) += omap-iommu-debug.o diff --git a/arch/arm/plat-omap/iommu-debug.c b/drivers/iommu/omap-iommu-debug.c similarity index 99% rename from arch/arm/plat-omap/iommu-debug.c rename to drivers/iommu/omap-iommu-debug.c index f07cf2f08e09479045d3b7e3c8c6b1c0458c59f9..0f8c8dd550182fbe14911adf552d6d816273eb66 100644 --- a/arch/arm/plat-omap/iommu-debug.c +++ b/drivers/iommu/omap-iommu-debug.c @@ -21,7 +21,7 @@ #include #include -#include "iopgtable.h" +#include #define MAXCOLUMN 100 /* for short messages */ diff --git a/arch/arm/plat-omap/iommu.c b/drivers/iommu/omap-iommu.c similarity index 99% rename from arch/arm/plat-omap/iommu.c rename to drivers/iommu/omap-iommu.c index 51aa008d8223e5079faab825c19aec61c9fbc889..bf8de64757467a743e864a0fd85adcd7106bd836 100644 --- a/arch/arm/plat-omap/iommu.c +++ b/drivers/iommu/omap-iommu.c @@ -26,7 +26,7 @@ #include -#include "iopgtable.h" +#include #define for_each_iotlb_cr(obj, n, __i, cr) \ for (__i = 0; \ diff --git a/arch/arm/plat-omap/iovmm.c b/drivers/iommu/omap-iovmm.c similarity index 99% rename from arch/arm/plat-omap/iovmm.c rename to drivers/iommu/omap-iovmm.c index aa2c47893b02f4b9545797e2151890213432b520..809ca124196ea8119b0b30b66b2773763f183c8d 100644 --- a/arch/arm/plat-omap/iovmm.c +++ b/drivers/iommu/omap-iovmm.c @@ -23,7 +23,7 @@ #include #include -#include "iopgtable.h" +#include /* * A device driver needs to create address mappings between: diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig index f574dc012cad047a817201b00676ff1497ac255c..6a25fad56655ce25a85a9ea21e406fb72d287de6 100644 --- a/drivers/media/video/Kconfig +++ b/drivers/media/video/Kconfig @@ -763,7 +763,7 @@ source "drivers/media/video/m5mols/Kconfig" config VIDEO_OMAP3 tristate "OMAP 3 Camera support (EXPERIMENTAL)" - select OMAP_IOMMU + select OMAP_IOVMM depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API && ARCH_OMAP3 && EXPERIMENTAL ---help--- Driver for an OMAP 3 camera controller.