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
9struct 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
23struct omap_device;
24
25struct 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