summaryrefslogtreecommitdiffstats
path: root/kernel/arch/arm/include/asm/device.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/arch/arm/include/asm/device.h')
-rw-r--r--kernel/arch/arm/include/asm/device.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/kernel/arch/arm/include/asm/device.h b/kernel/arch/arm/include/asm/device.h
new file mode 100644
index 000000000..4111592f0
--- /dev/null
+++ b/kernel/arch/arm/include/asm/device.h
@@ -0,0 +1,37 @@
+/*
+ * Arch specific extensions to struct device
+ *
+ * This file is released under the GPLv2
+ */
+#ifndef ASMARM_DEVICE_H
+#define ASMARM_DEVICE_H
+
+struct dev_archdata {
+ struct dma_map_ops *dma_ops;
+#ifdef CONFIG_DMABOUNCE
+ struct dmabounce_device_info *dmabounce;
+#endif
+#ifdef CONFIG_IOMMU_API
+ void *iommu; /* private IOMMU data */
+#endif
+#ifdef CONFIG_ARM_DMA_USE_IOMMU
+ struct dma_iommu_mapping *mapping;
+#endif
+ bool dma_coherent;
+};
+
+struct omap_device;
+
+struct pdev_archdata {
+#ifdef CONFIG_ARCH_OMAP
+ struct omap_device *od;
+#endif
+};
+
+#ifdef CONFIG_ARM_DMA_USE_IOMMU
+#define to_dma_iommu_mapping(dev) ((dev)->archdata.mapping)
+#else
+#define to_dma_iommu_mapping(dev) NULL
+#endif
+
+#endif