aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ppc64
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2005-07-12 03:42:49 -0400
committerPaul Mackerras <paulus@samba.org>2005-08-28 20:53:32 -0400
commit8c65b5c955b8598d9c63b4e97392377269873a54 (patch)
tree2afafee95db21a3ddadf888206c37f4a151272a0 /arch/ppc64
parent3e494c80481653bbc810b4e67651097595ea0294 (diff)
[PATCH] ppc64: move iSeries vio iommu init
Since the iSeries vio iommu tables cannot be used until after the vio bus has been initialised, move the initialisation of the tables to there. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/ppc64')
-rw-r--r--arch/ppc64/kernel/iSeries_vio.c3
-rw-r--r--arch/ppc64/mm/init.c3
2 files changed, 2 insertions, 4 deletions
diff --git a/arch/ppc64/kernel/iSeries_vio.c b/arch/ppc64/kernel/iSeries_vio.c
index e876b4380278..48f0ebf4405d 100644
--- a/arch/ppc64/kernel/iSeries_vio.c
+++ b/arch/ppc64/kernel/iSeries_vio.c
@@ -27,7 +27,7 @@ EXPORT_SYMBOL(iSeries_vio_dev);
27static struct iommu_table veth_iommu_table; 27static struct iommu_table veth_iommu_table;
28static struct iommu_table vio_iommu_table; 28static struct iommu_table vio_iommu_table;
29 29
30void __init iommu_vio_init(void) 30static void __init iommu_vio_init(void)
31{ 31{
32 struct iommu_table *t; 32 struct iommu_table *t;
33 struct iommu_table_cb cb; 33 struct iommu_table_cb cb;
@@ -123,6 +123,7 @@ static int __init vio_bus_init_iseries(void)
123 123
124 err = vio_bus_init(); 124 err = vio_bus_init();
125 if (err == 0) { 125 if (err == 0) {
126 iommu_vio_init();
126 vio_bus_device.iommu_table = &vio_iommu_table; 127 vio_bus_device.iommu_table = &vio_iommu_table;
127 iSeries_vio_dev = &vio_bus_device.dev; 128 iSeries_vio_dev = &vio_bus_device.dev;
128 probe_bus_iseries(); 129 probe_bus_iseries();
diff --git a/arch/ppc64/mm/init.c b/arch/ppc64/mm/init.c
index 87f256df8de5..9edfe267123e 100644
--- a/arch/ppc64/mm/init.c
+++ b/arch/ppc64/mm/init.c
@@ -686,9 +686,6 @@ void __init mem_init(void)
686 686
687 mem_init_done = 1; 687 mem_init_done = 1;
688 688
689#ifdef CONFIG_PPC_ISERIES
690 iommu_vio_init();
691#endif
692 /* Initialize the vDSO */ 689 /* Initialize the vDSO */
693 vdso_init(); 690 vdso_init();
694} 691}