On Mon, Oct 27, 2014 at 03:48:37PM +0800, Yijing Wang wrote: > Now PCI host bridge drivers in arm associate MSI chip and > PCI bus by adding .add_bus(), and assign MSI chip pointer > to every PCI bus. Associating MSI chip and every PCI bus > is not necessary. All PCI busses under same PCI host brdige > share the same MSI chip. So saving MSI chip in pci_sys_data > is a better solution, it make PCI host bridge drivers clean. > Because we still need to provide arch spec pcibios_msi_controller() > to extract MSI controller pointer, a better solution is to > refactor PCI host bridge, make a generic pci_host_bridge, and > save common info like PCI domain number, MSI chip, resources > in it. We will do that work in another series as soon. > > To Bjorn: Because struct msi_chip defined in struct hw_pci and pci_sys_data > is under the #ifdef CONFIG_PCI_MSI, if we use if(IS_ENABLED(CONFIG_PCI_MSI)) > in PCI host bridge drivers, it will cause build errors when the CONFIG_PCI_MSI > is off. So I keep #ifdef CONFIG_PCI_MSI in this series. > > Yijing Wang (10): > MSI: Rename msi_chip to msi_controller for better readability > PCI/MSI: Introduce weak pcibios_msi_controller() > arm/MSI: Save MSI controller in pci_sys_data > PCI: tegra: Save MSI controller in pci_sys_data > PCI: designware: Save MSI controller in pci_sys_data > PCI: rcar: Save MSI controller in pci_sys_data > PCI: mvebu: Save MSI controller in pci_sys_data > PCI: xilinx: Save MSI controller in pci_sys_data > arm/PCI: Clean unused pcibios_add_bus() and pcibios_remove_bus() > PCI/MSI: Remove useless bus->msi assignment > > arch/arm/include/asm/mach/pci.h | 10 +++++--- > arch/arm/kernel/bios32.c | 28 ++++++++++-------------- > drivers/irqchip/irq-armada-370-xp.c | 22 +++++++++--------- > drivers/of/of_pci.c | 40 +++++++++++++++++----------------- > drivers/pci/host/pci-keystone-dw.c | 4 +- > drivers/pci/host/pci-keystone.h | 2 +- > drivers/pci/host/pci-mvebu.c | 14 ++++------- > drivers/pci/host/pci-tegra.c | 37 +++++++++++++------------------- > drivers/pci/host/pcie-designware.c | 25 +++++++-------------- > drivers/pci/host/pcie-designware.h | 2 +- > drivers/pci/host/pcie-rcar.c | 37 +++++++++++++------------------- > drivers/pci/host/pcie-xilinx.c | 27 +++++++---------------- > drivers/pci/msi.c | 22 ++++++++++++++----- > drivers/pci/probe.c | 1 - > include/linux/msi.h | 6 ++-- > include/linux/of_pci.h | 14 ++++++------ > include/linux/pci.h | 2 +- > 17 files changed, 132 insertions(+), 161 deletions(-) > Applied to pci/msi for v3.19, thanks. -- 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