aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexey Kardashevskiy <aik@ozlabs.ru>2013-01-07 02:51:52 -0500
committerJoerg Roedel <joro@8bytes.org>2013-01-10 12:07:53 -0500
commit097e3635dc35d1cfc14057f8006f1b1f0eaf1987 (patch)
tree425dd47c2f119ba8db941622b1fa26d97c674a6a
parent9931faca02c604c22335f5a935a501bb2ace6e20 (diff)
iommu: moving initialization earlier
The iommu_init() initializes IOMMU internal structures and data required for the IOMMU API as iommu_group_alloc(). It is registered as a subsys_initcall now. One of the IOMMU users is going to be a PCI subsystem on POWER. It discovers new IOMMU tables during the PCI scan so the logical place to call iommu_group_alloc() is the moment when a new group is discovered. However PCI scan is done from subsys_initcall hook as IOMMU does so PCI hook can be (and is) called before the IOMMU one. The patch moves IOMMU subsystem initialization one step earlier to make sure that IOMMU is initialized before PCI scan begins. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Joerg Roedel <joro@8bytes.org>
-rw-r--r--drivers/iommu/iommu.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
index ddbdacad7768..1065a1a19478 100644
--- a/drivers/iommu/iommu.c
+++ b/drivers/iommu/iommu.c
@@ -861,7 +861,7 @@ static int __init iommu_init(void)
861 861
862 return 0; 862 return 0;
863} 863}
864subsys_initcall(iommu_init); 864arch_initcall(iommu_init);
865 865
866int iommu_domain_get_attr(struct iommu_domain *domain, 866int iommu_domain_get_attr(struct iommu_domain *domain,
867 enum iommu_attr attr, void *data) 867 enum iommu_attr attr, void *data)