xref: /openbmc/linux/arch/arm/include/asm/device.h (revision 23c2b932)
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