1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __OF_IOMMU_H 3 #define __OF_IOMMU_H 4 5 #include <linux/device.h> 6 #include <linux/iommu.h> 7 #include <linux/of.h> 8 9 #ifdef CONFIG_OF_IOMMU 10 11 extern int of_get_dma_window(struct device_node *dn, const char *prefix, 12 int index, unsigned long *busno, dma_addr_t *addr, 13 size_t *size); 14 15 extern const struct iommu_ops *of_iommu_configure(struct device *dev, 16 struct device_node *master_np); 17 18 #else 19 20 static inline int of_get_dma_window(struct device_node *dn, const char *prefix, 21 int index, unsigned long *busno, dma_addr_t *addr, 22 size_t *size) 23 { 24 return -EINVAL; 25 } 26 27 static inline const struct iommu_ops *of_iommu_configure(struct device *dev, 28 struct device_node *master_np) 29 { 30 return NULL; 31 } 32 33 #endif /* CONFIG_OF_IOMMU */ 34 35 #endif /* __OF_IOMMU_H */ 36