[PATCH 00/10] Save MSI chip in pci_sys_data

Bjorn Helgaas bhelgaas at google.com
Tue Nov 11 20:23:59 PST 2014


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.



More information about the linux-arm-kernel mailing list