xref: /openbmc/linux/arch/arm/include/asm/device.h (revision b34e08d5)
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 };
21 
22 struct omap_device;
23 
24 struct 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