1 /* 2 * Arch specific extensions to struct device 3 * 4 * This file is released under the GPLv2 5 */ 6 #ifndef ASMARM_DEVICE_H 7 #define ASMARM_DEVICE_H 8 9 struct dev_archdata { 10 struct dma_map_ops *dma_ops; 11 #ifdef CONFIG_DMABOUNCE 12 struct dmabounce_device_info *dmabounce; 13 #endif 14 #ifdef CONFIG_IOMMU_API 15 void *iommu; /* private IOMMU data */ 16 #endif 17 #ifdef CONFIG_ARM_DMA_USE_IOMMU 18 struct dma_iommu_mapping *mapping; 19 #endif 20 bool dma_coherent; 21 }; 22 23 struct omap_device; 24 25 struct pdev_archdata { 26 #ifdef CONFIG_ARCH_OMAP 27 struct omap_device *od; 28 #endif 29 }; 30 31 #ifdef CONFIG_ARM_DMA_USE_IOMMU 32 #define to_dma_iommu_mapping(dev) ((dev)->archdata.mapping) 33 #else 34 #define to_dma_iommu_mapping(dev) NULL 35 #endif 36 37 #endif 38