diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2005-07-12 03:42:49 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2005-08-28 20:53:32 -0400 |
commit | 8c65b5c955b8598d9c63b4e97392377269873a54 (patch) | |
tree | 2afafee95db21a3ddadf888206c37f4a151272a0 /arch/ppc64 | |
parent | 3e494c80481653bbc810b4e67651097595ea0294 (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.c | 3 | ||||
-rw-r--r-- | arch/ppc64/mm/init.c | 3 |
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); | |||
27 | static struct iommu_table veth_iommu_table; | 27 | static struct iommu_table veth_iommu_table; |
28 | static struct iommu_table vio_iommu_table; | 28 | static struct iommu_table vio_iommu_table; |
29 | 29 | ||
30 | void __init iommu_vio_init(void) | 30 | static 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 | } |