Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame^] | 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 |