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