xref: /openbmc/linux/arch/arm/include/asm/device.h (revision a36954f5)
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 	bool dma_coherent;
23 };
24 
25 struct omap_device;
26 
27 struct pdev_archdata {
28 #ifdef CONFIG_ARCH_OMAP
29 	struct omap_device *od;
30 #endif
31 };
32 
33 #ifdef CONFIG_ARM_DMA_USE_IOMMU
34 #define to_dma_iommu_mapping(dev) ((dev)->archdata.mapping)
35 #else
36 #define to_dma_iommu_mapping(dev) NULL
37 #endif
38 
39 #endif
40