struct device *rockchip_get_sysmmu_device_by_compatible(const char *compt);
-
#else
-#define iovmm_activate(dev) (-ENOSYS)
-#define iovmm_deactivate(dev) do { } while (0)
-#define iovmm_map(dev, sg, offset, size) (-ENOSYS)
-#define iovmm_unmap(dev, iova) do { } while (0)
-#define iovmm_map_oto(dev, phys, size) (-ENOSYS)
-#define iovmm_unmap_oto(dev, phys) do { } while (0)
-#define rockchip_get_sysmmu_device_by_compatible(compt) (NULL)
-
+static inline int iovmm_activate(struct device *dev) {return -ENOSYS; }
+static inline void iovmm_deactivate(struct device *dev) { }
+static inline dma_addr_t iovmm_map(struct device *dev, struct scatterlist *sg, off_t offset,
+ size_t size) { return -ENOSYS; }
+static inline void iovmm_unmap(struct device *dev, dma_addr_t iova) { }
+static inline int iovmm_map_oto(struct device *dev, phys_addr_t phys, size_t size) {return -ENOSYS; }
+static inline void iovmm_unmap_oto(struct device *dev, phys_addr_t phys) { }
+static inline struct device *rockchip_get_sysmmu_device_by_compatible(const char *compt) {return NULL; }
#endif /* CONFIG_ROCKCHIP_IOVMM */
#endif /*__ASM_PLAT_IOVMM_H*/
* translated. This is 0 if @itype is SYSMMU_BUSERROR.
*/
typedef int (*sysmmu_fault_handler_t)(struct device *dev,
- enum rk_sysmmu_inttype itype,
- unsigned long pgtable_base,
- unsigned long fault_addr,
- unsigned int statu
- );
+ enum rk_sysmmu_inttype itype,
+ unsigned long pgtable_base,
+ unsigned long fault_addr,
+ unsigned int statu);
#ifdef CONFIG_ROCKCHIP_IOMMU
/**
unsigned long base0, unsigned long size0,
unsigned long base1, unsigned long size1);
#else /* CONFIG_ROCKCHIP_IOMMU */
-#define rockchip_sysmmu_enable(owner, pgd) do { } while (0)
-#define rockchip_sysmmu_disable(owner) do { } while (0)
-#define rockchip_sysmmu_tlb_invalidate(owner) do { } while (0)
-#define rockchip_sysmmu_set_fault_handler(sysmmu, handler) do { } while (0)
-#define rockchip_sysmmu_set_prefbuf(owner, b0, s0, b1, s1) do { } while (0)
+static inline int rockchip_sysmmu_enable(struct device *owner, unsigned long pgd)
+{
+ return -ENOSYS;
+}
+static inline bool rockchip_sysmmu_disable(struct device *owner)
+{
+ return false;
+}
+static inline void rockchip_sysmmu_tlb_invalidate(struct device *owner)
+{
+}
+static inline void rockchip_sysmmu_set_fault_handler(struct device *dev,sysmmu_fault_handler_t handler)
+{
+}
+static inline void rockchip_sysmmu_set_prefbuf(struct device *owner,
+ unsigned long base0, unsigned long size0,
+ unsigned long base1, unsigned long size1)
+{
+}
#endif
#ifdef CONFIG_IOMMU_API
dev->archdata.iommu = sysmmu;
}
#else
-#define platform_set_sysmmu(dev, sysmmu) do { } while (0)
+static inline void platform_set_sysmmu(struct device *sysmmu, struct device *dev)
+{
+}
#endif
#endif /* _ARM_MACH_RK_SYSMMU_H_ */