xref: /openbmc/linux/arch/arm/include/asm/device.h (revision e285d5bf)
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 #ifdef CONFIG_DMABOUNCE
11 	struct dmabounce_device_info *dmabounce;
12 #endif
13 #ifdef CONFIG_IOMMU_API
14 	void *iommu; /* private IOMMU data */
15 #endif
16 #ifdef CONFIG_ARM_DMA_USE_IOMMU
17 	struct dma_iommu_mapping	*mapping;
18 #endif
19 #ifdef CONFIG_XEN
20 	const struct dma_map_ops *dev_dma_ops;
21 #endif
22 	unsigned int dma_coherent:1;
23 	unsigned int dma_ops_setup:1;
24 };
25 
26 struct omap_device;
27 
28 struct pdev_archdata {
29 #ifdef CONFIG_ARCH_OMAP
30 	struct omap_device *od;
31 #endif
32 };
33 
34 #ifdef CONFIG_ARM_DMA_USE_IOMMU
35 #define to_dma_iommu_mapping(dev) ((dev)->archdata.mapping)
36 #else
37 #define to_dma_iommu_mapping(dev) NULL
38 #endif
39 
40 #endif
41