@@ -43,6 +43,9 @@ struct pci_controller {
int iommu;
+#ifdef CONFIG_PCI_MSI
+ struct msi_controller *msi_ctrl;
+#endif
/* Optional access methods for reading/writing the bus number
of the PCI controller */
int (*get_busno)(void);
@@ -36,6 +36,15 @@ unsigned long PCIBIOS_MIN_MEM;
static int pci_initialized;
+#ifdef CONFIG_PCI_MSI
+struct msi_controller *pcibios_msi_controller(struct pci_bus *bus)
+{
+ struct pci_controller *ctrl = bus->sysdata;
+
+ return ctrl->msi_ctrl;
+}
+#endif
+
/*
* We need to avoid collisions with `mirrored' VGA ports
* and other strange ISA hardware, so we always want the
Save MSI controller in pci sysdata, add arch pcibios_msi_controller() to extract out MSI controller. Signed-off-by: Yijing Wang <wangyijing@huawei.com> --- arch/mips/include/asm/pci.h | 3 +++ arch/mips/pci/pci.c | 9 +++++++++ 2 files changed, 12 insertions(+), 0 deletions(-)