[PATCH] [RFC] [media] omap3isp: try to fix dependencies

Arnd Bergmann arnd at arndb.de
Fri Jun 13 05:02:01 PDT 2014


commit 2a0a5472af5c ("omap3isp: Use the ARM DMA IOMMU-aware operations")
brought the omap3isp driver closer to using standard APIs, but also
introduced two problems:

a) it selects a particular IOMMU driver for no good reason. This just
   causes hard to track dependency chains, in my case breaking an
   experimental patch set that tries to reenable !MMU support on ARM
   multiplatform kernels. Since the driver doesn't have a dependency
   on the actual IOMMU implementation (other than sitting on the same
   SoC), this changes the 'select OMAP_IOMMU' to a generic 'depends on
   IOMMU_API' that reflects the actual usage.

b) The driver incorrectly calls into low-level helpers designed to
   be used by the IOMMU implementation:
   arm_iommu_{create,attach,release}_mapping. I'm not fixing this
   here, but adding a FIXME and a dependency on ARM_DMA_USE_IOMMU.
   I believe the correct solution is to move the calls into the
   omap iommu driver that currently doesn't have them, and change
   the isp driver to call generic functions.

In addition, this also adds the missing 'select VIDEOBUF2_DMA_CONTIG'
that is needed since fbac1400bd1 ("[media] omap3isp: Move to videobuf2")

Signed-off-by: Arnd Bergmann <arnd at arndb.de>
----

Hi Laurent,

Could you have a look at this? It's possible I'm missing something
important here, but this is what I currently need to get randconfig
builds to use the omap3isp driver.

diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
index 8108c69..15bf61b 100644
--- a/drivers/media/platform/Kconfig
+++ b/drivers/media/platform/Kconfig
@@ -94,8 +94,9 @@ config VIDEO_M32R_AR_M64278
 config VIDEO_OMAP3
 	tristate "OMAP 3 Camera support"
 	depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API && ARCH_OMAP3
-	select ARM_DMA_USE_IOMMU
-	select OMAP_IOMMU
+	depends on ARM_DMA_USE_IOMMU # FIXME: use iommu API instead of low-level ARM calls
+	depends on IOMMU_API
+	select VIDEOBUF2_DMA_CONTIG
 	---help---
 	  Driver for an OMAP 3 camera controller.
 




More information about the linux-arm-kernel mailing list