powerpc/ppc4xx_hsta_msi: Move MSI-related ops to pci_controller_ops
authorDaniel Axtens <dja@axtens.net>
Tue, 14 Apr 2015 04:28:00 +0000 (14:28 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 2 Jun 2015 01:47:43 +0000 (11:47 +1000)
Move the ppc4xx hsta 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_hsta_msi.c

index f366d2d4c0790653fd3a7eec3fcca86e864e2451..2bc33674ebfc11d2525700191552389fafc1a23d 100644 (file)
@@ -128,6 +128,7 @@ static int hsta_msi_probe(struct platform_device *pdev)
        struct device *dev = &pdev->dev;
        struct resource *mem;
        int irq, ret, irq_count;
+       struct pci_controller *phb;
 
        mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        if (IS_ERR(mem)) {
@@ -171,8 +172,10 @@ static int hsta_msi_probe(struct platform_device *pdev)
                }
        }
 
-       ppc_md.setup_msi_irqs = hsta_setup_msi_irqs;
-       ppc_md.teardown_msi_irqs = hsta_teardown_msi_irqs;
+       list_for_each_entry(phb, &hose_list, list_node) {
+               phb->controller_ops.setup_msi_irqs = hsta_setup_msi_irqs;
+               phb->controller_ops.teardown_msi_irqs = hsta_teardown_msi_irqs;
+       }
        return 0;
 
 out2: