@@ -26,6 +26,7 @@ struct dma_iommu_mapping {
struct kref kref;
};
+#ifdef CONFIG_IOMMU_DMA
struct dma_iommu_mapping *
arm_iommu_create_mapping(struct bus_type *bus, dma_addr_t base, u64 size);
@@ -35,6 +36,13 @@ int arm_iommu_attach_device(struct device *dev,
struct dma_iommu_mapping *mapping);
void arm_iommu_detach_device(struct device *dev);
+#else
+#define arm_iommu_create_mapping(...) NULL
+#define arm_iommu_attach_device(...) -ENODEV
+#define arm_iommu_release_mapping(...) do {} while (0)
+#define arm_iommu_detach_device(...) do {} while (0)
+#endif
+
int arm_dma_supported(struct device *dev, u64 mask);
#endif /* __KERNEL__ */
@@ -62,12 +62,12 @@ config VIDEO_MUX
config VIDEO_OMAP3
tristate "OMAP 3 Camera support"
- depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API && ARCH_OMAP3
+ depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API
depends on HAS_DMA && OF
- depends on OMAP_IOMMU
- select ARM_DMA_USE_IOMMU
+ depends on ((ARCH_OMAP3 && OMAP_IOMMU) || COMPILE_TEST)
+ select ARM_DMA_USE_IOMMU if OMAP_IOMMU
select VIDEOBUF2_DMA_CONTIG
- select MFD_SYSCON
+ select MFD_SYSCON if ARCH_OMAP3
select V4L2_FWNODE
---help---
Driver for an OMAP 3 camera controller.
@@ -10,3 +10,7 @@ omap3-isp-objs += \
ispstat.o isph3a_aewb.o isph3a_af.o isphist.o
obj-$(CONFIG_VIDEO_OMAP3) += omap3-isp.o
+
+ifndef CONFIG_ARCH_ARM
+ccflags-y += -I./arch/arm/include/
+endif