diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
index ddbdacad7768e4c530a2e12657dc953a763325cc..1065a1a1947831e9e47f55c83250a5d0aaf1a16e 100644
--- a/drivers/iommu/iommu.c
+++ b/drivers/iommu/iommu.c
@@ -861,7 +861,7 @@ static int __init iommu_init(void)
 
 	return 0;
 }
-subsys_initcall(iommu_init);
+arch_initcall(iommu_init);
 
 int iommu_domain_get_attr(struct iommu_domain *domain,
 			  enum iommu_attr attr, void *data)