mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-22 19:43:07 +07:00
65e251a463
With the introduction of the new iommu_{register/get}_instance()
interface in commit e4f10ffe4c
("iommu: Make of_iommu_set/get_ops() DT
agnostic") (based on struct fwnode_handle as look-up token, so firmware
agnostic) to register IOMMU instances with the core IOMMU layer there is
no reason to keep the old OF based interface around any longer.
Convert all the IOMMU drivers (and OF IOMMU core code) that rely on the
of_iommu_{set/get}_ops() to the new kernel interface to register/retrieve
IOMMU instances and remove the of_iommu_{set/get}_ops() remaining glue
code in order to complete the interface rework.
Cc: Matthias Brugger <matthias.bgg@gmail.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Joerg Roedel <joro@8bytes.org>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Tested-by: Sricharan R <sricharan@codeaurora.org>
Tested-by: Yong Wu <yong.wu@mediatek.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
42 lines
986 B
C
42 lines
986 B
C
#ifndef __OF_IOMMU_H
|
|
#define __OF_IOMMU_H
|
|
|
|
#include <linux/device.h>
|
|
#include <linux/iommu.h>
|
|
#include <linux/of.h>
|
|
|
|
#ifdef CONFIG_OF_IOMMU
|
|
|
|
extern int of_get_dma_window(struct device_node *dn, const char *prefix,
|
|
int index, unsigned long *busno, dma_addr_t *addr,
|
|
size_t *size);
|
|
|
|
extern const struct iommu_ops *of_iommu_configure(struct device *dev,
|
|
struct device_node *master_np);
|
|
|
|
#else
|
|
|
|
static inline int of_get_dma_window(struct device_node *dn, const char *prefix,
|
|
int index, unsigned long *busno, dma_addr_t *addr,
|
|
size_t *size)
|
|
{
|
|
return -EINVAL;
|
|
}
|
|
|
|
static inline const struct iommu_ops *of_iommu_configure(struct device *dev,
|
|
struct device_node *master_np)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
#endif /* CONFIG_OF_IOMMU */
|
|
|
|
extern struct of_device_id __iommu_of_table;
|
|
|
|
typedef int (*of_iommu_init_fn)(struct device_node *);
|
|
|
|
#define IOMMU_OF_DECLARE(name, compat, fn) \
|
|
_OF_DECLARE(iommu, name, compat, fn, of_iommu_init_fn)
|
|
|
|
#endif /* __OF_IOMMU_H */
|