On Mon, Apr 30, 2018 at 07:48:34AM +0200, Jan Kiszka wrote: > Changes in v2: > - patch 1: commit message reworking as suggested by Lorenzo > - patch 3-6: split-up as suggested by Bjorn > - patch 8: new > - patch 10: select PCI_DOMAINS from PCI_HOST_GENERIC, rather than > allowing manual choice, as suggested by Lorenzo > > This primarily enables to unbind the generic PCI host controller without > leaving lots of memory leaks behind. A previous proposal patch 5 was > rejected because of those issues [1]. > > The fixes have been validated in the Jailhouse setup, where we add and > remove a virtual PCI host controller on hypervisor activation/ > deactivation, with the help of kmemleak. > > Besides that, there is tiny PCI API cleanup at the beginning and > support for manually enabled PCI domains at the end that enables the > Jailhouse scenario. > > Jan > > [1] http://lkml.iu.edu/hypermail/linux/kernel/1606.3/00072.html > > > CC: Jingoo Han <jingoohan1@xxxxxxxxx> > CC: Joao Pinto <Joao.Pinto@xxxxxxxxxxxx> > CC: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> > CC: Will Deacon <will.deacon@xxxxxxx> > > Jan Kiszka (10): > PCI: Make pci_get_new_domain_nr() static > PCI: Fix memory leak of devm_pci_alloc_host_bridge() > PCI: Factor out __of_pci_get_host_bridge_resources() > PCI: Add dev parameter to __of_pci_get_host_bridge_resources() > PCI: Replace pr_*() with dev_*() in > __of_pci_get_host_bridge_resources() > PCI: Introduce devm_of_pci_get_host_bridge_resources() > PCI: Convert of_pci_get_host_bridge_resources() users to devm variant > PCI: Deprecate of_pci_get_host_bridge_resources() > PCI: Add support for unbinding the generic PCI host controller > PCI: Enable PCI_DOMAINS along with generic PCI host controller Applied to pci/resource for v4.18, thanks! I added the reviewed-by tags from Vladimir (thank you!) and replaced the "Deprecate" patch by the v3 "Remove" patch. > drivers/pci/dwc/pcie-designware-host.c | 2 +- > drivers/pci/host/Kconfig | 1 + > drivers/pci/host/pci-aardvark.c | 5 +- > drivers/pci/host/pci-ftpci100.c | 4 +- > drivers/pci/host/pci-host-common.c | 13 ++++ > drivers/pci/host/pci-host-generic.c | 1 + > drivers/pci/host/pci-v3-semi.c | 3 +- > drivers/pci/host/pci-versatile.c | 3 +- > drivers/pci/host/pci-xgene.c | 3 +- > drivers/pci/host/pcie-altera.c | 5 +- > drivers/pci/host/pcie-iproc-platform.c | 4 +- > drivers/pci/host/pcie-rcar.c | 5 +- > drivers/pci/host/pcie-rockchip.c | 4 +- > drivers/pci/host/pcie-xilinx-nwl.c | 4 +- > drivers/pci/host/pcie-xilinx.c | 4 +- > drivers/pci/of.c | 105 +++++++++++++++++++++------------ > drivers/pci/pci.c | 6 +- > drivers/pci/probe.c | 4 +- > include/linux/of_pci.h | 42 ++++++++++++- > include/linux/pci-ecam.h | 1 + > include/linux/pci.h | 3 - > 21 files changed, 149 insertions(+), 73 deletions(-) > > -- > 2.13.6 >