xref: /linux/arch/arm/include/asm/device.h (revision e5c86679d5e864947a52fb31e45a425dea3e7fa9)
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 	bool dma_coherent;
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