To avoid open code everywhere. No intentional functionality change. Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> --- include/linux/iommu.h | 10 ++++++++++ drivers/iommu/iommu.c | 3 +-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/include/linux/iommu.h b/include/linux/iommu.h index fce7ad81206f..f554328528bc 100644 --- a/include/linux/iommu.h +++ b/include/linux/iommu.h @@ -273,6 +273,16 @@ static inline bool iommu_is_dma_domain(struct iommu_domain *domain) return domain->type & __IOMMU_DOMAIN_DMA_API; } +static inline void +iommu_domain_set_iopf_handler(struct iommu_domain *domain, + enum iommu_page_response_code (*handler)(struct iommu_fault *fault, + void *data), + void *data) +{ + domain->iopf_handler = handler; + domain->fault_data = data; +} + enum iommu_cap { IOMMU_CAP_CACHE_COHERENCY, /* IOMMU_CACHE is supported */ IOMMU_CAP_NOEXEC, /* IOMMU_NOEXEC flag */ diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c index 13a2e0e26884..fd65ed1d3642 100644 --- a/drivers/iommu/iommu.c +++ b/drivers/iommu/iommu.c @@ -3419,8 +3419,7 @@ struct iommu_domain *iommu_sva_domain_alloc(struct device *dev, domain->type = IOMMU_DOMAIN_SVA; mmgrab(mm); domain->mm = mm; - domain->iopf_handler = iommu_sva_handle_iopf; - domain->fault_data = mm; + iommu_domain_set_iopf_handler(domain, iommu_sva_handle_iopf, mm); return domain; } -- 2.34.1