Commit 9d5ce73a authored by FUJITA Tomonori's avatar FUJITA Tomonori Committed by Ingo Molnar

x86: intel-iommu: Convert detect_intel_iommu to use iommu_init hook

This changes detect_intel_iommu() to set intel_iommu_init() to
iommu_init hook if detect_intel_iommu() finds the IOMMU.
Signed-off-by: default avatarFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: chrisw@sous-sol.org
Cc: dwmw2@infradead.org
Cc: joerg.roedel@amd.com
Cc: muli@il.ibm.com
LKML-Reference: <1257849980-22640-6-git-send-email-fujita.tomonori@lab.ntt.co.jp>
[ -v2: build fix for the !CONFIG_DMAR case ]
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent ea1b0d39
...@@ -294,8 +294,6 @@ static int __init pci_iommu_init(void) ...@@ -294,8 +294,6 @@ static int __init pci_iommu_init(void)
x86_init.iommu.iommu_init(); x86_init.iommu.iommu_init();
intel_iommu_init();
no_iommu_init(); no_iommu_init();
return 0; return 0;
} }
......
...@@ -616,6 +616,10 @@ void __init detect_intel_iommu(void) ...@@ -616,6 +616,10 @@ void __init detect_intel_iommu(void)
if (ret && !no_iommu && !iommu_detected && !swiotlb && if (ret && !no_iommu && !iommu_detected && !swiotlb &&
!dmar_disabled) !dmar_disabled)
iommu_detected = 1; iommu_detected = 1;
#endif
#ifdef CONFIG_X86
if (ret)
x86_init.iommu.iommu_init = intel_iommu_init;
#endif #endif
} }
early_acpi_os_unmap_memory(dmar_tbl, dmar_tbl_size); early_acpi_os_unmap_memory(dmar_tbl, dmar_tbl_size);
......
...@@ -208,16 +208,9 @@ struct dmar_atsr_unit { ...@@ -208,16 +208,9 @@ struct dmar_atsr_unit {
u8 include_all:1; /* include all ports */ u8 include_all:1; /* include all ports */
}; };
/* Intel DMAR initialization functions */
extern int intel_iommu_init(void); extern int intel_iommu_init(void);
#else #else /* !CONFIG_DMAR: */
static inline int intel_iommu_init(void) static inline int intel_iommu_init(void) { return -ENODEV; }
{ #endif /* CONFIG_DMAR */
#ifdef CONFIG_INTR_REMAP
return dmar_dev_scope_init();
#else
return -ENODEV;
#endif
}
#endif /* !CONFIG_DMAR */
#endif /* __DMAR_H__ */ #endif /* __DMAR_H__ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment