powerpc/ppc4xx_msi: Move MSI-related ops to pci_controller_ops
authorDaniel Axtens <dja@axtens.net>
Tue, 14 Apr 2015 04:27:59 +0000 (14:27 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 2 Jun 2015 01:47:42 +0000 (11:47 +1000)
Move the ppc4xx msi subsystem to use the pci_controller_ops structure
rather than ppc_md for MSI related PCI controller operations.

As with fsl_msi, operations are plugged in at the subsys level, after
controller creation. Again, we iterate over all controllers and
populate them with the MSI ops.

Signed-off-by: Daniel Axtens <dja@axtens.net>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/sysdev/ppc4xx_msi.c

index 6e2e6aa378bbe36f6d38a7ff6b3c8c6e21c4d063..6eb21f2ea5857295d33bc5f9e8da87b7f0d9071f 100644 (file)
@@ -218,6 +218,7 @@ static int ppc4xx_msi_probe(struct platform_device *dev)
        struct ppc4xx_msi *msi;
        struct resource res;
        int err = 0;
+       struct pci_controller *phb;
 
        dev_dbg(&dev->dev, "PCIE-MSI: Setting up MSI support...\n");
 
@@ -250,8 +251,10 @@ static int ppc4xx_msi_probe(struct platform_device *dev)
        }
        ppc4xx_msi = *msi;
 
-       ppc_md.setup_msi_irqs = ppc4xx_setup_msi_irqs;
-       ppc_md.teardown_msi_irqs = ppc4xx_teardown_msi_irqs;
+       list_for_each_entry(phb, &hose_list, list_node) {
+               phb->controller_ops.setup_msi_irqs = ppc4xx_setup_msi_irqs;
+               phb->controller_ops.teardown_msi_irqs = ppc4xx_teardown_msi_irqs;
+       }
        return err;
 
 error_out: