[GIT PULL] PCI changes for v4.16

From: Bjorn Helgaas
Date: Mon Feb 05 2018 - 15:16:34 EST


PCI changes:

- skip AER driver error recovery callbacks for correctable errors
reported via ACPI APEI, as we already do for errors reported via
the native path (Tyler Baicar)

- fix DPC shared interrupt handling (Alex Williamson)

- print full DPC interrupt number (Keith Busch)

- enable DPC only if AER is available (Keith Busch)

- simplify DPC code (Bjorn Helgaas)

- calculate ASPM L1 substate parameter instead of hardcoding it
(Bjorn Helgaas)

- enable Latency Tolerance Reporting for ASPM L1 substates (Bjorn
Helgaas)

- move ASPM internal interfaces out of public header (Bjorn Helgaas)

- allow hot-removal of VGA devices (Mika Westerberg)

- speed up unplug and shutdown by assuming Thunderbolt controllers
don't support Command Completed events (Lukas Wunner)

- add AtomicOps support for GPU and Infiniband drivers (Felix
Kuehling, Jay Cornwall)

- expose "ari_enabled" in sysfs to help NIC naming (Stuart Hayes)

- clean up PCI DMA interface usage (Christoph Hellwig)

- remove PCI pool API (replaced with DMA pool) (Romain Perier)

- deprecate pci_get_bus_and_slot(), which assumed PCI domain 0
(Sinan Kaya)

- move DT PCI code from drivers/of/ to drivers/pci/ (Rob Herring)

- add PCI-specific wrappers for dev_info(), etc (Frederick Lawler)

- remove warnings on sysfs mmap failure (Bjorn Helgaas)

- quiet ROM validation messages (Alex Deucher)

- remove redundant memory alloc failure messages (Markus Elfring)

- fill in types for compile-time VGA and other I/O port resources
(Bjorn Helgaas)

- make "pci=pcie_scan_all" work for Root Ports as well as Downstream
Ports to help AmigaOne X1000 (Bjorn Helgaas)

- add SPDX tags to all PCI files (Bjorn Helgaas)

- quirk Marvell 9128 DMA aliases (Alex Williamson)

- quirk broken INTx disable on Ceton InfiniTV4 (Bjorn Helgaas)

- fix CONFIG_PCI=n build by adding dummy pci_irqd_intx_xlate()
(Niklas Cassel)

- use DMA API to get MSI address for DesignWare IP (Niklas Cassel)

- fix endpoint-mode DMA mask configuration (Kishon Vijay Abraham I)

- fix ARTPEC-6 incorrect IS_ERR() usage (Wei Yongjun)

- add support for ARTPEC-7 SoC (Niklas Cassel)

- add endpoint-mode support for ARTPEC (Niklas Cassel)

- add Cadence PCIe host and endpoint controller driver (Cyrille
Pitchen)

- handle multiple INTx status bits being set in dra7xx (Vignesh R)

- translate dra7xx hwirq range to fix INTD handling (Vignesh R)

- remove deprecated Exynos PHY initialization code (Jaehoon Chung)

- fix MSI erratum workaround for HiSilicon Hip06/Hip07 (Dongdong
Liu)

- fix NULL pointer dereference in iProc BCMA driver (Ray Jui)

- fix Keystone interrupt-controller-node lookup (Johan Hovold)

- constify qcom driver structures (Julia Lawall)

- rework Tegra config space mapping to increase space available for
endpoints (Vidya Sagar)

- simplify Tegra driver by using bus->sysdata (Manikanta Maddireddy)

- remove PCI_REASSIGN_ALL_BUS usage on Tegra (Manikanta Maddireddy)

- add support for Global Fabric Manager Server (GFMS) event to
Microsemi Switchtec switch driver (Logan Gunthorpe)

- add IDs for Switchtec PSX 24xG3 and PSX 48xG3 (Kelvin Cao)


You should see three merge conflicts:

include/linux/pci.h - trivial conflict between
856e1eb9bdd4 ("PCI/AER: Add uevents in AER and EEH error/resume")
0aa0f5d1084c ("PCI: Clean up whitespace in linux/pci.h, pci/pci.h")

drivers/of/Kconfig - simple conflict between
6019a3d07d72 ("of: enable unittests on UML")
4670d610d592 ("PCI: Move OF-related PCI functions into PCI core")

arch/powerpc/platforms/powernv/eeh-powernv.c - conflict between
64ba3dc7bf7c ("powerpc/eeh: Update VF config space after EEH")
fdabc3fe9982 ("PCI: Add #defines for Completion Timeout Disable feature")

In the EEH conflict, I modified a function that was renamed and moved
to arch/powerpc/kernel/eeh.c by the powerpc tree. My resolution is at
https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=v4.16-merge


The following changes since commit 1291a0d5049dbc06baaaf66a9ff3f53db493b19b:

Linux 4.15-rc4 (2017-12-17 18:59:59 -0800)

are available in the Git repository at:

ssh://git@xxxxxxxxxxxxxxxxxxx/pub/scm/linux/kernel/git/helgaas/pci.git tags/pci-v4.16-changes

for you to fetch changes up to ab8c609356fbe8dbcd44df11e884ce8cddf3739e:

Merge branch 'pci/spdx' into next (2018-02-01 11:40:07 -0600)

----------------------------------------------------------------
pci-v4.16-changes

----------------------------------------------------------------
Alex Deucher (1):
PCI: Use dev_info() rather than dev_err() for ROM validation

Alex Williamson (2):
PCI/DPC: Fix shared interrupt handling
PCI: Add function 1 DMA alias quirk for Marvell 9128

Andy Shevchenko (3):
powerpc/pci: Use for_each_pci_bridge() helper
powerpc/pci: Unroll two pass loop when scanning bridges
xen/pci: Use acpi_noirq_set() helper to avoid #ifdef

Bjorn Helgaas (58):
PCI/ASPM: Calculate LTR_L1.2_THRESHOLD from device characteristics
PCI/ASPM: Enable Latency Tolerance Reporting when supported
PCI/ASPM: Unexport internal ASPM interfaces
PCI: Make PCI_SCAN_ALL_PCIE_DEVS work for Root as well as Downstream Ports
MAINTAINERS: Include more PCI files
PCI: Remove sysfs resource mmap warning
PCI: Remove PCI_REASSIGN_ALL_RSRC use on arm and arm64
vgacon: Set VGA struct resource types
MIPS: Set I/O port resource types correctly
powerpc: Set I/O port resource types correctly
irqchip/i8259: Set I/O port resource types correctly
resource: Set type of "reserve=" user-specified resources
resource: Set type when reserving new regions
PCI: Tidy up pci/probe.c comments
PCI: Clean up whitespace in linux/pci.h, pci/pci.h
PCI: Mark Ceton InfiniTV4 INTx masking as broken
PCI: Add #defines for Completion Timeout Disable feature
PCI: Add SPDX GPL-2.0 when no license was specified
PCI/DPC: Rename interrupt_event_handler() to dpc_work()
PCI: Add SPDX GPL-2.0 to replace GPL v2 boilerplate
PCI: Add SPDX GPL-2.0 to replace COPYING boilerplate
PCI: Add SPDX GPL-2.0+ to replace GPL v2 or later boilerplate
PCI: Add SPDX GPL-2.0+ to replace implicit GPL v2 or later statement
PCI/DPC: Add local variable for DPC capability offset
PCI/DPC: Rename struct dpc_dev.rp to rp_extensions
PCI/DPC: Read RP PIO Log Size once at probe
PCI/DPC: Process RP PIO details only if RP PIO extensions supported
PCI/DPC: Squash dpc_rp_pio_print_tlp_header() into dpc_rp_pio_print_error()
PCI/DPC: Rename local "status" to "dpc_status"
PCI/DPC: Make RP PIO log size check more generic
PCI/DPC: Squash dpc_rp_pio_print_error() into dpc_rp_pio_get_info()
PCI/DPC: Push dpc->rp_pio_status assignment into dpc_rp_pio_get_info()
PCI/DPC: Remove unnecessary RP PIO register structs
PCI/DPC: Squash dpc_rp_pio_get_info() into dpc_process_rp_pio_error()
PCI/DPC: Add and use DPC Status register field definitions
PCI/DPC: Reformat DPC register definitions
Merge branch 'pci/aer' into next
Merge branch 'pci/aspm' into next
Merge branch 'pci/deprecate-get-bus-and-slot' into next
Merge branch 'pci/dma' into next
Merge branch 'pci/dpc' into next
Merge branch 'pci/dt-resources' into next
Merge branch 'pci/enumeration' into next
Merge branch 'pci/hotplug' into next
Merge branch 'pci/misc' into next
Merge branch 'pci/msi' into next
Merge branch 'pci/resource' into next
Merge branch 'pci/switchtec' into next
Merge branch 'pci/trivial' into next
Merge branch 'pci/virtualization' into next
Merge remote-tracking branch 'lorenzo/pci/cadence' into next
Merge remote-tracking branch 'lorenzo/pci/dwc' into next
Merge remote-tracking branch 'lorenzo/pci/endpoint' into next
Merge remote-tracking branch 'lorenzo/pci/keystone' into next
Merge remote-tracking branch 'lorenzo/pci/rcar' into next
Merge remote-tracking branch 'lorenzo/pci/tegra' into next
Merge remote-tracking branch 'lorenzo/pci/xgene' into next
Merge branch 'pci/spdx' into next

Christoph Hellwig (4):
media: ttusb-budget: Remove pci_zalloc_coherent() abuse
media: ttusb-dec: Remove pci_zalloc_coherent() abuse
net: tsi108: Use DMA API properly
PCI: Remove NULL device handling from PCI DMA API

Cyrille Pitchen (10):
PCI: Regroup all PCI related entries into drivers/pci/Makefile
PCI: OF: Add generic function to parse and allocate PCI resources
PCI: generic: fix missing call of pci_free_resource_list()
PCI: Add generic function to probe PCI host controllers
PCI: Add vendor ID for Cadence
PCI: cadence: Add host driver for Cadence PCIe controller
PCI: endpoint: Add the function number as argument to EPC ops
PCI: endpoint: Fix EPF device name to support multi-function devices
dt-bindings: PCI: cadence: Add DT bindings for Cadence PCIe endpoint controller
PCI: cadence: Add EndPoint Controller driver for Cadence PCIe controller

Dongdong Liu (1):
PCI: Disable MSI for HiSilicon Hip06/Hip07 only in Root Port mode

Felix Kuehling (1):
RDMA/qedr: Use pci_enable_atomic_ops_to_root()

Frederick Lawler (1):
PCI: Add wrappers for dev_printk()

Geert Uytterhoeven (1):
PCI: rcar: Handle rcar_pcie_parse_request_of_pci_ranges() failures

Jaehoon Chung (2):
PCI: exynos: Remove deprecated PHY initialization code
PCI: exynos: Fix a potential init_clk_resources NULL pointer dereference

Jay Cornwall (1):
PCI: Add pci_enable_atomic_ops_to_root()

Johan Hovold (1):
PCI: keystone: Fix interrupt-controller-node lookup

Julia Lawall (1):
PCI: qcom: Account for const type of of_device_id.data

Keith Busch (3):
PCI/AER: Return error if AER is not supported
PCI/DPC: Enable DPC only if AER is available
PCI/DPC: Fix interrupt message number print

Kelvin Cao (1):
switchtec: Add device IDs for PSX 24xG3 and PSX 48xG3

Kishon Vijay Abraham I (2):
PCI: designware-ep: Fix ->get_msi() to check MSI_EN bit
PCI: endpoint: Use EPC's device in dma_alloc_coherent()/dma_free_coherent()

Logan Gunthorpe (1):
switchtec: Add Global Fabric Manager Server (GFMS) event

Lorenzo Pieralisi (1):
PCI: xgene: Remove leftover pci_scan_child_bus() call

Lukas Wunner (1):
PCI: pciehp: Assume NoCompl+ for Thunderbolt ports

Manikanta Maddireddy (3):
PCI: tegra: Remove PCI_REASSIGN_ALL_BUS use on Tegra
of: Export of_pci_range_to_resource()
PCI: tegra: Use bus->sysdata to store and get host private data

Markus Elfring (1):
PCI: Remove unnecessary messages for memory allocation failures

Mika Westerberg (1):
PCI: hotplug: Drop checking of PCI_BRIDGE_CONTROL in *_unconfigure_device()

Niklas Cassel (22):
PCI: designware-ep: Fix find_first_zero_bit() usage
PCI: endpoint: Populate func_no before calling pci_epc_add_epf()
PCI: endpoint: Fix find_first_zero_bit() usage
PCI: dwc: Use the DMA-API to get the MSI address
PCI: designware-ep: dw_pcie_ep_set_msi() should only set MMC bits
PCI: designware-ep: Read-only registers need DBI_RO_WR_EN to be writable
PCI: designware-ep: Pre-allocate memory for MSI in dw_pcie_ep_init
PCI: designware-ep: Remove static keyword from dw_pcie_ep_reset_bar()
PCI: designware-ep: Add generic function for raising MSI irq
PCI: dwc: dra7xx: Refactor Kconfig and Makefile handling for host/ep mode
PCI: dwc: dra7xx: Assign pp->ops in dra7xx_add_pcie_port() rather than in probe
PCI: dwc: dra7xx: Help compiler to remove unused code
PCI: dwc: artpec6: Remove unused defines
PCI: dwc: artpec6: Use BIT and GENMASK macros
PCI: dwc: artpec6: Split artpec6_pcie_establish_link() into smaller functions
bindings: PCI: artpec: Add support for endpoint mode
PCI: dwc: artpec6: Add support for endpoint mode
PCI: dwc: Make cpu_addr_fixup take struct dw_pcie as argument
PCI: dwc: artpec6: Deassert the core before waiting for PHY
bindings: PCI: artpec: Add support for the ARTPEC-7 SoC
PCI: dwc: artpec6: Add support for the ARTPEC-7 SoC
PCI: Add dummy pci_irqd_intx_xlate() for CONFIG_PCI=n build

Ray Jui (1):
PCI: iproc: Fix NULL pointer dereference for BCMA

Rob Herring (3):
PCI: Move OF-related PCI functions into PCI core
powerpc/pci: Use of_irq_parse_and_map_pci() helper
PCI: Make of_irq_parse_pci() static

Romain Perier (3):
block: DAC960: Replace PCI pool old API
net: e100: Replace PCI pool old API
hinic: Replace PCI pool old API

Scott Telford (1):
dt-bindings: PCI: cadence: Add DT bindings for Cadence PCIe host controller

Sergey Senozhatsky (1):
PCI: Remove unneeded kallsyms include

Sinan Kaya (23):
alpha/PCI: Deprecate pci_get_bus_and_slot()
powerpc/PCI: Deprecate pci_get_bus_and_slot()
x86/PCI: Deprecate pci_get_bus_and_slot()
ata: Deprecate pci_get_bus_and_slot()
agp: nvidia: Deprecate pci_get_bus_and_slot()
agp: sworks: Deprecate pci_get_bus_and_slot()
edd: Deprecate pci_get_bus_and_slot()
ibft: Deprecate pci_get_bus_and_slot()
drm/gma500: Deprecate pci_get_bus_and_slot()
drm/nouveau: deprecate pci_get_bus_and_slot()
sl82c105: deprecate pci_get_bus_and_slot()
iommu/amd: Deprecate pci_get_bus_and_slot()
powerpc/via-pmu: Deprecate pci_get_bus_and_slot()
bnx2x: Deprecate pci_get_bus_and_slot()
pch_gbe: Deprecate pci_get_bus_and_slot()
PCI: cpqhp: Deprecate pci_get_bus_and_slot()
PCI: ibmphp: Deprecate pci_get_bus_and_slot()
PCI: Deprecate pci_get_bus_and_slot()
xen/pcifront: Deprecate pci_get_bus_and_slot()
openprom: Deprecate pci_get_bus_and_slot()
video: fbdev: intelfb: deprecate pci_get_bus_and_slot()
video: fbdev: nvidia: deprecate pci_get_bus_and_slot()
video: fbdev: riva: deprecate pci_get_bus_and_slot()

Stuart Hayes (1):
PCI: Expose ari_enabled in sysfs

Tyler Baicar (1):
PCI/AER: Skip recovery callbacks for correctable errors from ACPI APEI

Vidya Sagar (1):
PCI: tegra: Refactor configuration space mapping code

Vignesh R (3):
pci: dwc: pci-dra7xx: Make shutdown handler static
PCI: dra7xx: Fix legacy INTD IRQ handling
PCI: dra7xx: Iterate over INTx status bits

Wei Yongjun (1):
PCI: dwc: artpec6: Fix return value check in artpec6_add_pcie_ep()

Documentation/admin-guide/kernel-parameters.txt | 6 +-
.../devicetree/bindings/pci/axis,artpec6-pcie.txt | 5 +-
.../devicetree/bindings/pci/cdns,cdns-pcie-ep.txt | 22 +
.../bindings/pci/cdns,cdns-pcie-host.txt | 60 +++
.../bindings/pci/samsung,exynos5440-pcie.txt | 58 +--
MAINTAINERS | 11 +
arch/alpha/kernel/console.c | 1 +
arch/alpha/kernel/pci.c | 2 +-
arch/alpha/kernel/sys_nautilus.c | 2 +-
arch/arm/include/asm/pci.h | 5 +-
arch/arm/kernel/bios32.c | 2 +-
arch/arm/mach-mvebu/Kconfig | 1 -
arch/mips/jazz/setup.c | 8 +-
arch/mips/mti-malta/malta-setup.c | 10 +-
arch/powerpc/kernel/pci-common.c | 10 +-
arch/powerpc/kernel/pci-hotplug.c | 20 +-
arch/powerpc/kernel/pci_32.c | 3 +-
arch/powerpc/kernel/pci_of_scan.c | 7 +-
arch/powerpc/platforms/maple/time.c | 2 +-
arch/powerpc/platforms/powermac/feature.c | 2 +-
arch/powerpc/platforms/powernv/eeh-powernv.c | 6 +-
arch/powerpc/sysdev/i8259.c | 6 +-
arch/powerpc/sysdev/mv64x60_pci.c | 4 +-
arch/x86/pci/irq.c | 3 +-
arch/x86/pci/xen.c | 4 +-
drivers/Makefile | 5 +-
drivers/ata/pata_ali.c | 3 +-
drivers/block/DAC960.c | 38 +-
drivers/block/DAC960.h | 4 +-
drivers/char/agp/nvidia-agp.c | 12 +-
drivers/char/agp/sworks-agp.c | 3 +-
drivers/firmware/edd.c | 8 +-
drivers/firmware/iscsi_ibft.c | 5 +-
drivers/gpu/drm/gma500/cdv_device.c | 16 +-
drivers/gpu/drm/gma500/gma_device.c | 4 +-
drivers/gpu/drm/gma500/mid_bios.c | 12 +-
drivers/gpu/drm/gma500/psb_drv.c | 10 +-
drivers/gpu/drm/gma500/psb_drv.h | 18 +-
drivers/gpu/drm/nouveau/dispnv04/arb.c | 4 +-
drivers/gpu/drm/nouveau/dispnv04/hw.c | 10 +-
drivers/gpu/drm/nouveau/nouveau_drm.c | 3 +-
drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv1a.c | 10 +-
drivers/ide/sl82c105.c | 5 +-
drivers/infiniband/hw/qedr/main.c | 59 +--
drivers/iommu/amd_iommu.c | 3 +-
drivers/iommu/amd_iommu_init.c | 9 +-
drivers/iommu/amd_iommu_v2.c | 3 +-
drivers/irqchip/irq-i8259.c | 4 +-
drivers/macintosh/via-pmu.c | 2 +-
drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c | 18 +-
drivers/media/usb/ttusb-dec/ttusb_dec.c | 18 +-
drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c | 10 +-
drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.h | 1 +
drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c | 10 +-
drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.h | 2 +-
drivers/net/ethernet/intel/e100.c | 12 +-
.../net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c | 6 +-
drivers/net/ethernet/tundra/tsi108_eth.c | 36 +-
drivers/of/Kconfig | 16 -
drivers/of/Makefile | 2 -
drivers/of/address.c | 9 +-
drivers/of/of_pci.c | 384 --------------
drivers/of/of_pci_irq.c | 131 -----
drivers/pci/Kconfig | 3 +
drivers/pci/Makefile | 14 +-
drivers/pci/access.c | 9 +-
drivers/pci/ats.c | 1 +
drivers/pci/bus.c | 5 +-
drivers/pci/cadence/Kconfig | 27 +
drivers/pci/cadence/Makefile | 4 +
drivers/pci/cadence/pcie-cadence-ep.c | 542 +++++++++++++++++++
drivers/pci/cadence/pcie-cadence-host.c | 336 ++++++++++++
drivers/pci/cadence/pcie-cadence.c | 126 +++++
drivers/pci/cadence/pcie-cadence.h | 311 +++++++++++
drivers/pci/dwc/Kconfig | 70 ++-
drivers/pci/dwc/Makefile | 6 +-
drivers/pci/dwc/pci-dra7xx.c | 47 +-
drivers/pci/dwc/pci-exynos.c | 227 +-------
drivers/pci/dwc/pci-imx6.c | 5 +-
drivers/pci/dwc/pci-keystone-dw.c | 6 +-
drivers/pci/dwc/pci-keystone.c | 10 +-
drivers/pci/dwc/pci-keystone.h | 6 +-
drivers/pci/dwc/pci-layerscape.c | 5 +-
drivers/pci/dwc/pcie-armada8k.c | 5 +-
drivers/pci/dwc/pcie-artpec6.c | 475 ++++++++++++++---
drivers/pci/dwc/pcie-designware-ep.c | 140 +++--
drivers/pci/dwc/pcie-designware-host.c | 20 +-
drivers/pci/dwc/pcie-designware-plat.c | 5 +-
drivers/pci/dwc/pcie-designware.c | 7 +-
drivers/pci/dwc/pcie-designware.h | 41 +-
drivers/pci/dwc/pcie-hisi.c | 5 +-
drivers/pci/dwc/pcie-histb.c | 5 +-
drivers/pci/dwc/pcie-kirin.c | 5 +-
drivers/pci/dwc/pcie-qcom.c | 14 +-
drivers/pci/dwc/pcie-spear13xx.c | 5 +-
drivers/pci/ecam.c | 13 +-
drivers/pci/endpoint/Kconfig | 1 +
drivers/pci/endpoint/Makefile | 1 +
drivers/pci/endpoint/functions/Kconfig | 1 +
drivers/pci/endpoint/functions/Makefile | 1 +
drivers/pci/endpoint/functions/pci-epf-test.c | 54 +-
drivers/pci/endpoint/pci-ep-cfs.c | 78 ++-
drivers/pci/endpoint/pci-epc-core.c | 85 ++-
drivers/pci/endpoint/pci-epc-mem.c | 13 +-
drivers/pci/endpoint/pci-epf-core.c | 17 +-
drivers/pci/host-bridge.c | 1 +
drivers/pci/host/Kconfig | 2 +
drivers/pci/host/Makefile | 2 +
drivers/pci/host/pci-aardvark.c | 5 +-
drivers/pci/host/pci-host-common.c | 87 +---
drivers/pci/host/pci-host-generic.c | 13 +-
drivers/pci/host/pci-hyperv.c | 12 +-
drivers/pci/host/pci-mvebu.c | 5 +-
drivers/pci/host/pci-rcar-gen2.c | 5 +-
drivers/pci/host/pci-tegra.c | 171 ++----
drivers/pci/host/pci-thunder-ecam.c | 5 +-
drivers/pci/host/pci-thunder-pem.c | 13 +-
drivers/pci/host/pci-v3-semi.c | 1 +
drivers/pci/host/pci-versatile.c | 12 +-
drivers/pci/host/pci-xgene-msi.c | 11 +-
drivers/pci/host/pci-xgene.c | 13 +-
drivers/pci/host/pcie-altera-msi.c | 13 +-
drivers/pci/host/pcie-altera.c | 13 +-
drivers/pci/host/pcie-iproc-bcma.c | 10 +-
drivers/pci/host/pcie-iproc-msi.c | 10 +-
drivers/pci/host/pcie-iproc-platform.c | 17 +-
drivers/pci/host/pcie-iproc.c | 18 +-
drivers/pci/host/pcie-iproc.h | 12 +-
drivers/pci/host/pcie-mediatek.c | 10 +-
drivers/pci/host/pcie-rcar.c | 12 +-
drivers/pci/host/pcie-rockchip.c | 6 +-
drivers/pci/host/pcie-xilinx-nwl.c | 6 +-
drivers/pci/host/pcie-xilinx.c | 6 +-
drivers/pci/host/vmd.c | 10 +-
drivers/pci/hotplug/Kconfig | 1 +
drivers/pci/hotplug/acpi_pcihp.c | 16 +-
drivers/pci/hotplug/acpiphp.h | 16 +-
drivers/pci/hotplug/acpiphp_core.c | 16 +-
drivers/pci/hotplug/acpiphp_glue.c | 20 +-
drivers/pci/hotplug/acpiphp_ibm.c | 16 +-
drivers/pci/hotplug/cpci_hotplug.h | 16 +-
drivers/pci/hotplug/cpci_hotplug_core.c | 16 +-
drivers/pci/hotplug/cpci_hotplug_pci.c | 16 +-
drivers/pci/hotplug/cpcihp_generic.c | 21 +-
drivers/pci/hotplug/cpcihp_zt5550.c | 21 +-
drivers/pci/hotplug/cpcihp_zt5550.h | 21 +-
drivers/pci/hotplug/cpqphp.h | 16 +-
drivers/pci/hotplug/cpqphp_core.c | 19 +-
drivers/pci/hotplug/cpqphp_ctrl.c | 16 +-
drivers/pci/hotplug/cpqphp_nvram.c | 16 +-
drivers/pci/hotplug/cpqphp_nvram.h | 16 +-
drivers/pci/hotplug/cpqphp_pci.c | 34 +-
drivers/pci/hotplug/cpqphp_sysfs.c | 16 +-
drivers/pci/hotplug/ibmphp.h | 16 +-
drivers/pci/hotplug/ibmphp_core.c | 36 +-
drivers/pci/hotplug/ibmphp_ebda.c | 16 +-
drivers/pci/hotplug/ibmphp_hpc.c | 16 +-
drivers/pci/hotplug/ibmphp_pci.c | 76 +--
drivers/pci/hotplug/ibmphp_res.c | 54 +-
drivers/pci/hotplug/pci_hotplug_core.c | 16 +-
drivers/pci/hotplug/pciehp.h | 16 +-
drivers/pci/hotplug/pciehp_core.c | 16 +-
drivers/pci/hotplug/pciehp_ctrl.c | 16 +-
drivers/pci/hotplug/pciehp_hpc.c | 28 +-
drivers/pci/hotplug/pciehp_pci.c | 28 +-
drivers/pci/hotplug/pcihp_skeleton.c | 16 +-
drivers/pci/hotplug/pnv_php.c | 45 +-
drivers/pci/hotplug/rpadlpar.h | 6 +-
drivers/pci/hotplug/rpadlpar_core.c | 6 +-
drivers/pci/hotplug/rpadlpar_sysfs.c | 6 +-
drivers/pci/hotplug/rpaphp.h | 16 +-
drivers/pci/hotplug/rpaphp_core.c | 16 +-
drivers/pci/hotplug/rpaphp_pci.c | 16 +-
drivers/pci/hotplug/rpaphp_slot.c | 16 +-
drivers/pci/hotplug/s390_pci_hpc.c | 3 +-
drivers/pci/hotplug/sgi_hotplug.c | 41 +-
drivers/pci/hotplug/shpchp.h | 24 +-
drivers/pci/hotplug/shpchp_core.c | 21 +-
drivers/pci/hotplug/shpchp_ctrl.c | 16 +-
drivers/pci/hotplug/shpchp_hpc.c | 16 +-
drivers/pci/hotplug/shpchp_pci.c | 28 +-
drivers/pci/hotplug/shpchp_sysfs.c | 16 +-
drivers/pci/iov.c | 11 +-
drivers/pci/irq.c | 7 +-
drivers/pci/mmap.c | 5 +-
drivers/pci/msi.c | 8 +-
drivers/pci/of.c | 571 ++++++++++++++++++++-
drivers/pci/pci-acpi.c | 3 +-
drivers/pci/pci-driver.c | 4 +-
drivers/pci/pci-mid.c | 5 +-
drivers/pci/pci-stub.c | 5 +-
drivers/pci/pci-sysfs.c | 30 +-
drivers/pci/pci.c | 158 ++++--
drivers/pci/pci.h | 74 ++-
drivers/pci/pcie/Kconfig | 3 +-
drivers/pci/pcie/aer/Kconfig | 1 +
drivers/pci/pcie/aer/Kconfig.debug | 1 +
drivers/pci/pcie/aer/aer_inject.c | 22 +-
drivers/pci/pcie/aer/aerdrv.c | 7 +-
drivers/pci/pcie/aer/aerdrv_core.c | 31 +-
drivers/pci/pcie/aer/aerdrv_errprint.c | 27 +-
drivers/pci/pcie/aer/ecrc.c | 16 +-
drivers/pci/pcie/aspm.c | 80 +--
drivers/pci/pcie/pcie-dpc.c | 256 ++++-----
drivers/pci/pcie/pme.c | 11 +-
drivers/pci/pcie/portdrv_acpi.c | 5 +-
drivers/pci/pcie/portdrv_bus.c | 1 +
drivers/pci/pcie/portdrv_core.c | 4 +-
drivers/pci/pcie/ptm.c | 12 +-
drivers/pci/probe.c | 372 +++++++++-----
drivers/pci/quirks.c | 210 ++++----
drivers/pci/remove.c | 1 +
drivers/pci/rom.c | 9 +-
drivers/pci/search.c | 1 +
drivers/pci/setup-bus.c | 49 +-
drivers/pci/setup-irq.c | 5 +-
drivers/pci/setup-res.c | 40 +-
drivers/pci/slot.c | 1 +
drivers/pci/switch/Kconfig | 2 +
drivers/pci/switch/Makefile | 1 +
drivers/pci/switch/switchtec.c | 14 +-
drivers/pci/syscall.c | 4 +-
drivers/pci/vc.c | 23 +-
drivers/pci/vpd.c | 1 +
drivers/pci/xen-pcifront.c | 23 +-
drivers/sbus/char/openprom.c | 5 +-
drivers/video/console/vgacon.c | 34 +-
drivers/video/fbdev/intelfb/intelfbhw.c | 4 +-
drivers/video/fbdev/nvidia/nv_hw.c | 11 +-
drivers/video/fbdev/nvidia/nv_setup.c | 3 +-
drivers/video/fbdev/riva/fbdev.c | 2 +-
drivers/video/fbdev/riva/nv_driver.c | 7 +-
drivers/video/fbdev/riva/riva_hw.c | 20 +-
drivers/video/fbdev/riva/riva_hw.h | 3 +-
include/asm-generic/pci_iomap.h | 6 +-
include/linux/of_pci.h | 8 +-
include/linux/pci-aspm.h | 35 +-
include/linux/pci-dma-compat.h | 27 +-
include/linux/pci-ecam.h | 13 +-
include/linux/pci-ep-cfs.h | 5 +-
include/linux/pci-epc.h | 48 +-
include/linux/pci-epf.h | 5 +-
include/linux/pci.h | 441 ++++++++--------
include/linux/pci_hotplug.h | 16 +-
include/linux/pci_ids.h | 2 +
include/linux/switchtec.h | 3 +
include/uapi/linux/pci_regs.h | 30 +-
include/uapi/linux/switchtec_ioctl.h | 3 +-
kernel/resource.c | 29 +-
lib/pci_iomap.c | 1 +
250 files changed, 4505 insertions(+), 3758 deletions(-)
create mode 100644 Documentation/devicetree/bindings/pci/cdns,cdns-pcie-ep.txt
create mode 100644 Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.txt
delete mode 100644 drivers/of/of_pci.c
delete mode 100644 drivers/of/of_pci_irq.c
create mode 100644 drivers/pci/cadence/Kconfig
create mode 100644 drivers/pci/cadence/Makefile
create mode 100644 drivers/pci/cadence/pcie-cadence-ep.c
create mode 100644 drivers/pci/cadence/pcie-cadence-host.c
create mode 100644 drivers/pci/cadence/pcie-cadence.c
create mode 100644 drivers/pci/cadence/pcie-cadence.h