This series of patches add loadable kernel module and power management support to Tegra PCIe host controller driver. These patches are tested on Jetson TK1, TX1 and TX2 platforms, following are the verification details. - Multiple module insert & remove - PCIe device functionality after module insert - Free clock, resets, regulators, powergate, iomem and interrupt resources after module remove - PCIe device functionality after resume from RAM Tegra PCIe host controller driver is using ioremap_page_range() which is not exported. This is switched with devm_ioremap() in the series 'https://patchwork.ozlabs.org/project/linux-tegra/list/?series=9907'. V2: PM QoS fix is dropped in V2 from this series because the fix is incorporated in latest 'commit 0759e80b84e3 ("PM / QoS: Fix device resume latency framework")'. Update commit message of few patches in V2. V3: Patches to export irq_set_msi_desc() and tegra_cpuidle_pcie_irqs_in_use() are dropped based on review comments. These symbols will be addressed in next series. Remove PCI_REASSIGN_ALL_BUS flag for Tegra PCIe and took care of few other review comments. Manikanta Maddireddy (7): of: Export of_pci_range_to_resource() PCI: Export pci_find_host_bridge() PCI: tegra: Remove PCI_REASSIGN_ALL_BUS flag for Tegra PCIe PCI: tegra: Free resources on probe failure PCI: tegra: Add loadable kernel module support PCI: tegra: Broadcast PME_Turn_Off message before link goes to L2 PCI: tegra: Add power management support drivers/of/address.c | 1 + drivers/pci/host-bridge.c | 1 + drivers/pci/host/Kconfig | 2 +- drivers/pci/host/pci-tegra.c | 331 +++++++++++++++++++++++++++++++++---------- 4 files changed, 257 insertions(+), 78 deletions(-) -- 2.1.4