4 #include <linux/device.h>
5 #include <linux/iommu.h>
10 extern int of_get_dma_window(struct device_node
*dn
, const char *prefix
,
11 int index
, unsigned long *busno
, dma_addr_t
*addr
,
14 extern void of_iommu_init(void);
15 extern struct iommu_ops
*of_iommu_configure(struct device
*dev
,
16 struct device_node
*master_np
);
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
,
27 static inline void of_iommu_init(void) { }
28 static inline struct iommu_ops
*of_iommu_configure(struct device
*dev
,
29 struct device_node
*master_np
)
34 #endif /* CONFIG_OF_IOMMU */
36 void of_iommu_set_ops(struct device_node
*np
, struct iommu_ops
*ops
);
37 struct iommu_ops
*of_iommu_get_ops(struct device_node
*np
);
39 extern struct of_device_id __iommu_of_table
;
41 typedef int (*of_iommu_init_fn
)(struct device_node
*);
43 #define IOMMU_OF_DECLARE(name, compat, fn) \
44 _OF_DECLARE(iommu, name, compat, fn, of_iommu_init_fn)
46 #endif /* __OF_IOMMU_H */