This pair of patches introduces a new MSI chip infrastructure aimed at replacing the current per-architecture implementation of the MSI support functions. The rationale being that for multi-platform support on ARM (and of course other architectures as well) per-architecture hooks no longer work, given that more than one implementation will be provided. The approach chosen in this patch series is to introduce a new structure called struct msi_chip that contains pointers to the functions that have previously been implemented on a per-architecture basis. A pointer to this structure is embedded with each struct pci_bus, similar to struct pci_ops, and automatically passed to child busses during enumeration. It is the responsibility of the PCI host bridge driver to setup the MSI chip for the root bus. An example for the usage of this new infrastructure is provided in the second patch, which implements this for the Tegra PCIe controller driver. Note that this driver has not been merged yet because this MSI infrastructure is a prerequisite. Nevertheless it should serve as a reference for implementors on how to use the MSI chip. Thierry Thierry Reding (2): PCI: Introduce new MSI chip infrastructure PCI: tegra: Use new MSI chip infrastructure drivers/pci/host/pci-tegra.c | 105 ++++++++++++++++++++++++------------------- drivers/pci/msi.c | 35 +++++++++++++-- drivers/pci/probe.c | 1 + include/linux/msi.h | 10 +++++ include/linux/pci.h | 1 + 5 files changed, 103 insertions(+), 49 deletions(-) -- 1.8.1.5 -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html