tree 2afafee95db21a3ddadf888206c37f4a151272a0
parent 3e494c80481653bbc810b4e67651097595ea0294
author Stephen Rothwell <[EMAIL PROTECTED]> Tue, 12 Jul 2005 17:42:49 +1000
committer Paul Mackerras <[EMAIL PROTECTED]> Mon, 29 Aug 2005 10:53:32 +1000

[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 <[EMAIL PROTECTED]>
Signed-off-by: Paul Mackerras <[EMAIL PROTECTED]>

 arch/ppc64/kernel/iSeries_vio.c |    3 ++-
 arch/ppc64/mm/init.c            |    3 ---
 include/asm-ppc64/iommu.h       |    3 ---
 3 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/arch/ppc64/kernel/iSeries_vio.c b/arch/ppc64/kernel/iSeries_vio.c
--- a/arch/ppc64/kernel/iSeries_vio.c
+++ b/arch/ppc64/kernel/iSeries_vio.c
@@ -27,7 +27,7 @@ EXPORT_SYMBOL(iSeries_vio_dev);
 static struct iommu_table veth_iommu_table;
 static struct iommu_table vio_iommu_table;
 
-void __init iommu_vio_init(void)
+static void __init iommu_vio_init(void)
 {
        struct iommu_table *t;
        struct iommu_table_cb cb;
@@ -123,6 +123,7 @@ static int __init vio_bus_init_iseries(v
 
        err = vio_bus_init();
        if (err == 0) {
+               iommu_vio_init();
                vio_bus_device.iommu_table = &vio_iommu_table;
                iSeries_vio_dev = &vio_bus_device.dev;
                probe_bus_iseries();
diff --git a/arch/ppc64/mm/init.c b/arch/ppc64/mm/init.c
--- a/arch/ppc64/mm/init.c
+++ b/arch/ppc64/mm/init.c
@@ -686,9 +686,6 @@ void __init mem_init(void)
 
        mem_init_done = 1;
 
-#ifdef CONFIG_PPC_ISERIES
-       iommu_vio_init();
-#endif
        /* Initialize the vDSO */
        vdso_init();
 }
diff --git a/include/asm-ppc64/iommu.h b/include/asm-ppc64/iommu.h
--- a/include/asm-ppc64/iommu.h
+++ b/include/asm-ppc64/iommu.h
@@ -104,9 +104,6 @@ extern void iommu_devnode_init_pSeries(s
 
 #ifdef CONFIG_PPC_ISERIES
 
-/* Initializes tables for bio buses */
-extern void __init iommu_vio_init(void);
-
 struct iSeries_Device_Node;
 /* Creates table for an individual device node */
 extern void iommu_devnode_init_iSeries(struct iSeries_Device_Node *dn);
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to