powerpc/pasemi: Clean up pasemi iommu table initializations
authorNishanth Aravamudan <nacc@us.ibm.com>
Mon, 18 Oct 2010 07:27:00 +0000 (07:27 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Mon, 29 Nov 2010 04:48:20 +0000 (15:48 +1100)
No need for empty helpers with iommu off, the ppc_md hooks are optional.

The direct_dma_ops are the default pci_dma_ops, so no need to set in the
them iommu off case.

No need to set the device tree device_node pci node iommu pointer, its
only used for dlpar remove.

Signed-off-by: Milton Miller <miltonm@bga.com>
Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/platforms/pasemi/iommu.c

index 1f9fb2c..14943ef 100644 (file)
@@ -156,20 +156,12 @@ static void iommu_table_iobmap_setup(void)
 
 static void pci_dma_bus_setup_pasemi(struct pci_bus *bus)
 {
-       struct device_node *dn;
-
        pr_debug("pci_dma_bus_setup, bus %p, bus->self %p\n", bus, bus->self);
 
        if (!iommu_table_iobmap_inited) {
                iommu_table_iobmap_inited = 1;
                iommu_table_iobmap_setup();
        }
-
-       dn = pci_bus_to_OF_node(bus);
-
-       if (dn)
-               PCI_DN(dn)->iommu_table = &iommu_table_iobmap;
-
 }
 
 
@@ -192,9 +184,6 @@ static void pci_dma_dev_setup_pasemi(struct pci_dev *dev)
        set_iommu_table_base(&dev->dev, &iommu_table_iobmap);
 }
 
-static void pci_dma_bus_setup_null(struct pci_bus *b) { }
-static void pci_dma_dev_setup_null(struct pci_dev *d) { }
-
 int __init iob_init(struct device_node *dn)
 {
        unsigned long tmp;
@@ -251,14 +240,8 @@ void __init iommu_init_early_pasemi(void)
        iommu_off = of_chosen &&
                        of_get_property(of_chosen, "linux,iommu-off", NULL);
 #endif
-       if (iommu_off) {
-               /* Direct I/O, IOMMU off */
-               ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_null;
-               ppc_md.pci_dma_bus_setup = pci_dma_bus_setup_null;
-               set_pci_dma_ops(&dma_direct_ops);
-
+       if (iommu_off)
                return;
-       }
 
        iob_init(NULL);