summaryrefslogtreecommitdiff
path: root/arch/powerpc/sysdev/ppc4xx_msi.c
diff options
context:
space:
mode:
authorDaniel Axtens <dja@axtens.net>2015-04-14 14:27:59 +1000
committerMichael Ellerman <mpe@ellerman.id.au>2015-06-02 11:47:42 +1000
commitb7eba2ffccb51d7676a4ddc26658687331feb6a3 (patch)
tree9e0c9e97d2a1fcda85a51f88280d1be888655339 /arch/powerpc/sysdev/ppc4xx_msi.c
parent00e25397032f590d0a4d0ee89e236a4d1f8c0580 (diff)
powerpc/ppc4xx_msi: Move MSI-related ops to pci_controller_ops
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>
Diffstat (limited to 'arch/powerpc/sysdev/ppc4xx_msi.c')
-rw-r--r--arch/powerpc/sysdev/ppc4xx_msi.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/powerpc/sysdev/ppc4xx_msi.c b/arch/powerpc/sysdev/ppc4xx_msi.c
index 6e2e6aa378bb..6eb21f2ea585 100644
--- a/arch/powerpc/sysdev/ppc4xx_msi.c
+++ b/arch/powerpc/sysdev/ppc4xx_msi.c
@@ -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: