Commit 14f95acd authored by Daniel Axtens's avatar Daniel Axtens Committed by Michael Ellerman

powerpc/mpic_u3msi: Move MSI-related ops to pci_controller_ops

Move the u3 MPIC 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: default avatarDaniel Axtens <dja@axtens.net>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 83922966
...@@ -181,6 +181,7 @@ static int u3msi_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type) ...@@ -181,6 +181,7 @@ static int u3msi_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type)
int mpic_u3msi_init(struct mpic *mpic) int mpic_u3msi_init(struct mpic *mpic)
{ {
int rc; int rc;
struct pci_controller *phb;
rc = mpic_msi_init_allocator(mpic); rc = mpic_msi_init_allocator(mpic);
if (rc) { if (rc) {
...@@ -193,9 +194,11 @@ int mpic_u3msi_init(struct mpic *mpic) ...@@ -193,9 +194,11 @@ int mpic_u3msi_init(struct mpic *mpic)
BUG_ON(msi_mpic); BUG_ON(msi_mpic);
msi_mpic = mpic; msi_mpic = mpic;
WARN_ON(ppc_md.setup_msi_irqs); list_for_each_entry(phb, &hose_list, list_node) {
ppc_md.setup_msi_irqs = u3msi_setup_msi_irqs; WARN_ON(phb->controller_ops.setup_msi_irqs);
ppc_md.teardown_msi_irqs = u3msi_teardown_msi_irqs; phb->controller_ops.setup_msi_irqs = u3msi_setup_msi_irqs;
phb->controller_ops.teardown_msi_irqs = u3msi_teardown_msi_irqs;
}
return 0; return 0;
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment