1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * Arch specific extensions to struct device 4 */ 5 #ifndef ASMARM_DEVICE_H 6 #define ASMARM_DEVICE_H 7 8 struct dev_archdata { 9 #ifdef CONFIG_DMABOUNCE 10 struct dmabounce_device_info *dmabounce; 11 #endif 12 #ifdef CONFIG_ARM_DMA_USE_IOMMU 13 struct dma_iommu_mapping *mapping; 14 #endif 15 unsigned int dma_coherent:1; 16 unsigned int dma_ops_setup:1; 17 }; 18 19 struct omap_device; 20 21 struct pdev_archdata { 22 #ifdef CONFIG_ARCH_OMAP 23 struct omap_device *od; 24 #endif 25 }; 26 27 #ifdef CONFIG_ARM_DMA_USE_IOMMU 28 #define to_dma_iommu_mapping(dev) ((dev)->archdata.mapping) 29 #else 30 #define to_dma_iommu_mapping(dev) NULL 31 #endif 32 33 #endif 34