diff options
| author | Shiraz Hashim <shashim@codeaurora.org> | 2015-11-18 12:46:05 +0530 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-22 11:14:34 -0700 |
| commit | d880efb0215477d2d2772a11e1d6a6c9dbade606 (patch) | |
| tree | 9005d049b78c9d1158ae30a2e28402b3acd7c902 | |
| parent | 3a25b40a4e0aff69443e446e4293c7b63828c331 (diff) | |
dma-mapping: fix build when !CONFIG_ARM_DMA_USE_IOMMU
Allow compilation when CONFIG_ARM_DMA_USE_IOMMU is not
selected by providing necessary stub functions and fix few
mismatch in function declarations.
Following this, remove the changes introduced by
f3d8d1061fb0b146b3f5 ("msm: ipa: add empty implementation
for iommu functions") as they are no longer needed.
Change-Id: I04e3aa63407064e8d9c9550a5cb0a82ede899f00
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
| -rw-r--r-- | arch/arm/include/asm/dma-iommu.h | 26 | ||||
| -rw-r--r-- | arch/arm64/include/asm/dma-iommu.h | 4 | ||||
| -rw-r--r-- | include/linux/msm_dma_iommu_mapping.h | 2 |
3 files changed, 29 insertions, 3 deletions
diff --git a/arch/arm/include/asm/dma-iommu.h b/arch/arm/include/asm/dma-iommu.h index 2ef282f96651..b4e74af0abb7 100644 --- a/arch/arm/include/asm/dma-iommu.h +++ b/arch/arm/include/asm/dma-iommu.h @@ -24,6 +24,8 @@ struct dma_iommu_mapping { struct kref kref; }; +#ifdef CONFIG_ARM_DMA_USE_IOMMU + struct dma_iommu_mapping * arm_iommu_create_mapping(struct bus_type *bus, dma_addr_t base, u64 size); @@ -33,5 +35,29 @@ int arm_iommu_attach_device(struct device *dev, struct dma_iommu_mapping *mapping); void arm_iommu_detach_device(struct device *dev); +#else /* !CONFIG_ARM_DMA_USE_IOMMU */ + +static inline struct dma_iommu_mapping * +arm_iommu_create_mapping(struct bus_type *bus, dma_addr_t base, size_t size) +{ + return NULL; +} + +static inline void arm_iommu_release_mapping(struct dma_iommu_mapping *mapping) +{ +} + +static inline int arm_iommu_attach_device(struct device *dev, + struct dma_iommu_mapping *mapping) +{ + return -ENODEV; +} + +static inline void arm_iommu_detach_device(struct device *dev) +{ +} + +#endif /* CONFIG_ARM_DMA_USE_IOMMU */ + #endif /* __KERNEL__ */ #endif diff --git a/arch/arm64/include/asm/dma-iommu.h b/arch/arm64/include/asm/dma-iommu.h index 0ee90ccfa0b2..83b7eadbdc60 100644 --- a/arch/arm64/include/asm/dma-iommu.h +++ b/arch/arm64/include/asm/dma-iommu.h @@ -3,6 +3,7 @@ #ifdef __KERNEL__ +#include <linux/err.h> #include <linux/mm_types.h> #include <linux/scatterlist.h> #include <linux/dma-debug.h> @@ -35,8 +36,7 @@ void arm_iommu_detach_device(struct device *dev); #else /* !CONFIG_ARM64_DMA_USE_IOMMU */ static inline struct dma_iommu_mapping * -arm_iommu_create_mapping(struct bus_type *bus, dma_addr_t base, size_t size, - int order) +arm_iommu_create_mapping(struct bus_type *bus, dma_addr_t base, size_t size) { return ERR_PTR(-ENOMEM); } diff --git a/include/linux/msm_dma_iommu_mapping.h b/include/linux/msm_dma_iommu_mapping.h index b222e55810de..370d6f5e1d65 100644 --- a/include/linux/msm_dma_iommu_mapping.h +++ b/include/linux/msm_dma_iommu_mapping.h @@ -62,7 +62,7 @@ void msm_dma_buf_freed(void *buffer); static inline int msm_dma_map_sg_attrs(struct device *dev, struct scatterlist *sg, int nents, enum dma_data_direction dir, struct dma_buf *dma_buf, - int flags) + struct dma_attrs *attr) { return -EINVAL; } |
