2006-11-11 14:18:39 +08:00
|
|
|
/*
|
|
|
|
* Arch specific extensions to struct device
|
|
|
|
*
|
|
|
|
* This file is released under the GPLv2
|
|
|
|
*/
|
2007-02-12 18:28:24 +08:00
|
|
|
#ifndef ASMARM_DEVICE_H
|
|
|
|
#define ASMARM_DEVICE_H
|
2006-11-11 14:18:39 +08:00
|
|
|
|
2007-02-12 18:28:24 +08:00
|
|
|
struct dev_archdata {
|
2012-02-11 02:55:20 +08:00
|
|
|
struct dma_map_ops *dma_ops;
|
2007-02-12 18:28:24 +08:00
|
|
|
#ifdef CONFIG_DMABOUNCE
|
|
|
|
struct dmabounce_device_info *dmabounce;
|
|
|
|
#endif
|
2011-10-13 19:53:18 +08:00
|
|
|
#ifdef CONFIG_IOMMU_API
|
|
|
|
void *iommu; /* private IOMMU data */
|
|
|
|
#endif
|
2012-05-16 21:48:21 +08:00
|
|
|
#ifdef CONFIG_ARM_DMA_USE_IOMMU
|
|
|
|
struct dma_iommu_mapping *mapping;
|
|
|
|
#endif
|
2007-02-12 18:28:24 +08:00
|
|
|
};
|
|
|
|
|
2011-09-07 04:04:10 +08:00
|
|
|
struct omap_device;
|
|
|
|
|
2009-07-08 19:21:31 +08:00
|
|
|
struct pdev_archdata {
|
2011-09-07 04:04:10 +08:00
|
|
|
#ifdef CONFIG_ARCH_OMAP
|
|
|
|
struct omap_device *od;
|
|
|
|
#endif
|
2009-07-08 19:21:31 +08:00
|
|
|
};
|
|
|
|
|
2013-01-24 21:16:56 +08:00
|
|
|
#ifdef CONFIG_ARM_DMA_USE_IOMMU
|
|
|
|
#define to_dma_iommu_mapping(dev) ((dev)->archdata.mapping)
|
|
|
|
#else
|
|
|
|
#define to_dma_iommu_mapping(dev) NULL
|
|
|
|
#endif
|
|
|
|
|
2007-02-12 18:28:24 +08:00
|
|
|
#endif
|