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 9struct 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}; 21 22struct omap_device; 23 24struct pdev_archdata { 25#ifdef CONFIG_ARCH_OMAP 26 struct omap_device *od; 27#endif 28}; 29 30#ifdef CONFIG_ARM_DMA_USE_IOMMU 31#define to_dma_iommu_mapping(dev) ((dev)->archdata.mapping) 32#else 33#define to_dma_iommu_mapping(dev) NULL 34#endif 35 36#endif 37