From: Joerg Roedel <jroe...@suse.de> Set the default domain-type at runtime, not at compile-time. This keeps default domain type setting in one place when we have to change it at runtime.
Signed-off-by: Joerg Roedel <jroe...@suse.de> --- drivers/iommu/iommu.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c index b57ce00c1310..62cae6db0970 100644 --- a/drivers/iommu/iommu.c +++ b/drivers/iommu/iommu.c @@ -26,11 +26,8 @@ static struct kset *iommu_group_kset; static DEFINE_IDA(iommu_group_ida); -#ifdef CONFIG_IOMMU_DEFAULT_PASSTHROUGH -static unsigned int iommu_def_domain_type = IOMMU_DOMAIN_IDENTITY; -#else -static unsigned int iommu_def_domain_type = IOMMU_DOMAIN_DMA; -#endif + +static unsigned int iommu_def_domain_type __read_mostly; static bool iommu_dma_strict __read_mostly = true; struct iommu_group { @@ -102,6 +99,11 @@ static const char *iommu_domain_type_str(unsigned int t) static int __init iommu_subsys_init(void) { + if (IS_ENABLED(CONFIG_IOMMU_DEFAULT_PASSTHROUGH)) + iommu_def_domain_type = IOMMU_DOMAIN_IDENTITY; + else + iommu_def_domain_type = IOMMU_DOMAIN_DMA; + pr_info("Default domain type: %s\n", iommu_domain_type_str(iommu_def_domain_type)); -- 2.17.1