[GIT PULL] PCI changes for v4.12

From: Bjorn Helgaas
Date: Mon May 08 2017 - 10:56:54 EST


PCI changes:

- add framework for supporting PCIe devices in Endpoint mode (Kishon
Vijay Abraham I)

- use non-postable PCI config space mappings when possible (Lorenzo
Pieralisi)

- clean up and unify mmap of PCI BARs (David Woodhouse)

- export and unify Function Level Reset support (Christoph Hellwig)

- avoid FLR for Intel 82579 NICs (Sasha Neftin)

- add pci_request_irq() and pci_free_irq() helpers (Christoph Hellwig)

- short-circuit config access failures for disconnected devices (Keith
Busch)

- remove D3 sleep delay when possible (Adrian Hunter)

- freeze PME scan before suspending devices (Lukas Wunner)

- stop disabling MSI/MSI-X in pci_device_shutdown() (Prarit Bhargava)

- disable boot interrupt quirk for ASUS M2N-LR (Stefan Assmann)

- add arch-specific alignment control to improve device passthrough by
avoiding multiple BARs in a page (Yongji Xie)

- add sysfs sriov_drivers_autoprobe to control VF driver binding (Bodong
Wang)

- allow slots below PCI-to-PCIe "reverse bridges" (Bjorn Helgaas)

- fix crashes when unbinding host controllers that don't support removal
(Brian Norris)

- add driver for MicroSemi Switchtec management interface (Logan
Gunthorpe)

- add driver for Faraday Technology FTPCI100 host bridge (Linus Walleij)

- add i.MX7D support (Andrey Smirnov)

- use generic MSI support for Aardvark (Thomas Petazzoni)

- make Rockchip driver modular (Brian Norris)

- advertise 128-byte Read Completion Boundary support for Rockchip (Shawn
Lin)

- advertise PCI_EXP_LNKSTA_SLC for Rockchip root port (Shawn Lin)

- convert atomic_t to refcount_t in HV driver (Elena Reshetova)

- add CPU IRQ affinity in HV driver (K. Y. Srinivasan)

- fix PCI bus removal in HV driver (Long Li)

- add support for ThunderX2 DMA alias topology (Jayachandran C)

- add ThunderX pass2.x 2nd node MCFG quirk (Tomasz Nowicki)

- add ITE 8893 bridge DMA alias quirk (Jarod Wilson)

- restrict Cavium ACS quirk only to CN81xx/CN83xx/CN88xx devices (Manish
Jaggi)


You should see a few trivial merge conflicts:

- pci_enable_msix() was removed by Christoph Hellwig via David Miller;
conflicts with my change to make pci_msi_shutdown() and
pci_enable_msix() static

- CONFIG_PANEL removed from drivers/misc/Makefile by Andy Shevchenko via
Greg KH; conflicts with CONFIG_PCI_ENDPOINT_TEST addition by Kishon
Vijay Abraham I

- CONFIG_ASPEED_LPC_CTRL added to drivers/misc/Makefile by Cyril Bur via
Greg KH; conflicts with CONFIG_PCI_ENDPOINT_TEST addition by Kishon
Vijay Abraham I


The following changes since commit 794a8604fe6e4a311373cde57a86ad4aab9d32b8:

PCI: dwc: Fix dw_pcie_ops NULL pointer dereference (2017-04-04 08:24:25 -0500)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git tags/pci-v4.12-changes

for you to fetch changes up to 3146c8f4de9b0858794a902f273aec13f168596e:

Merge branch 'pci/remove' into next (2017-04-28 10:38:13 -0500)

----------------------------------------------------------------
pci-v4.12-changes

----------------------------------------------------------------
Adrian Hunter (1):
PCI/PM: Don't sleep at all when d3_delay or d3cold_delay is zero

Andrey Smirnov (4):
PCI: imx6: Add code to support i.MX7D
PCI: imx6: Allow probe deferral by reset GPIO
PCI: imx6: Do not wait for speed change on i.MX7
PCI: imx6: Do not switch speed if Gen2 is disabled

Bjorn Helgaas (28):
PCI/MSI: Make pci_msi_shutdown() and pci_msix_shutdown() static
PCI/MSI: Use dev_printk() when possible
PCI: rockchip: Unindent rockchip_pcie_set_power_limit()
PCI: dwc: Unindent dw_handle_msi_irq() loop
PCI: Include PCI-to-PCIe bridges as "Downstream Ports"
PCI: Factor pci_reassigndev_resource_alignment()
PCI: Don't reassign resources that are already aligned
PCI/ACPI: Tidy up MCFG quirk whitespace
Merge branch 'pci/host-designware' into next
Merge branch 'pci/host-faraday' into next
Merge branch 'pci/host-hv' into next
Merge branch 'pci/host-imx6' into next
Merge branch 'pci/host-iproc' into next
Merge branch 'pci/host-mvebu' into next
Merge branch 'pci/host-rockchip' into next
Merge branch 'pci/host-thunder' into next
Merge branch 'pci/switchtec' into next
Merge branch 'pci/enumeration' into next
Merge branch 'pci/iommu' into next
Merge branch 'pci/ioremap' into next
Merge branch 'pci/irq' into next
Merge branch 'pci/misc' into next
Merge branch 'pci/msi' into next
Merge branch 'pci/pm' into next
Merge branch 'pci/resource' into next
Merge branch 'pci/resource-mmap' into next
Merge branch 'pci/virtualization' into next
Merge branch 'pci/remove' into next

Bodong Wang (1):
PCI: Add sysfs sriov_drivers_autoprobe to control VF driver binding

Brian Norris (7):
PCI: rockchip: Handle regulator_get_current_limit() failure correctly
PCI: rockchip: Make 'return 0' more obvious in probe()
PCI: Fix typo pci_cfg_access_lock() comment
PCI: rockchip: Add remove() support
PCI: Export pci_remap_iospace() and pci_unmap_iospace()
PCI: rockchip: Modularize
PCI: Don't allow unbinding host controllers that aren't prepared

Christoph Hellwig (9):
genirq: Fix indentation in remove_irq()
genirq: Return the IRQ name from free_irq()
PCI/irq: Add pci_request_irq() and pci_free_irq() helpers
nvme/pci: Switch to pci_request_irq()
PCI: Export pcie_flr()
PCI: Call pcie_flr() from reset_intel_82599_sfp_virtfn()
PCI: Call pcie_flr() from reset_chelsio_generic_dev()
IB/hfi1: Use pcie_flr() instead of duplicating it
ixgbe: Use pcie_flr() instead of duplicating it

Colin Ian King (1):
PCI: imx6: Fix spelling mistake: "contol" -> "control"

Dan Carpenter (1):
PCI: dwc: Fix uninitialized variable in dw_handle_msi_irq()

David Woodhouse (22):
PCI: Fix pci_mmap_fits() for HAVE_PCI_RESOURCE_TO_USER platforms
PCI: Fix another sanity check bug in /proc/pci mmap
PCI: Only allow WC mmap on prefetchable resources
xtensa/PCI: Do not mmap PCI BARs to userspace as write-through
PCI: Add arch_can_pci_mmap_wc() macro
PCI: Move multiple declarations of pci_mmap_page_range() to <linux/pci.h>
PCI: Add arch_can_pci_mmap_io() on architectures which can mmap() I/O space
PCI: Use BAR index in sysfs attr->private instead of resource pointer
PCI: Add BAR index argument to pci_mmap_page_range()
PCI: Add pci_mmap_resource_range() and use it for ARM64
ARM/PCI: Use generic pci_mmap_resource_range()
cris/PCI: Use generic pci_mmap_resource_range()
MIPS: PCI: Use generic pci_mmap_resource_range()
mn10300/PCI: Use generic pci_mmap_resource_range()
parisc: Use generic pci_mmap_resource_range()
sh/PCI: Use generic pci_mmap_resource_range()
unicore32/PCI: Use generic pci_mmap_resource_range()
x86/PCI: Use generic pci_mmap_resource_range()
PCI: Add I/O BAR support to generic pci_mmap_resource_range()
ia64: Remove redundant valid_mmap_phys_addr_range() from pci_mmap_page_range()
ia64: Remove redundant checks for WC in pci_mmap_page_range()
ia64: Use generic pci_mmap_resource_range()

Elena Reshetova (1):
PCI: hv: Convert hv_pci_dev.refs from atomic_t to refcount_t

Jarod Wilson (1):
PCI: Add bridge DMA alias quirk for ITE 8893 bridge

Jayachandran C (2):
PCI: Add device flag PCI_DEV_FLAGS_BRIDGE_XLATE_ROOT
PCI: Avoid generating invalid ThunderX2 DMA aliases

Jon Mason (1):
PCI: iproc: Add PCI_DOMAIN dependency to PCI Kconfig

K. Y. Srinivasan (2):
PCI: hv: Specify CPU_AFFINITY_ALL for MSI affinity when >= 32 CPUs
PCI: hv: Allocate interrupt descriptors with GFP_ATOMIC

Keerthy (1):
PCI: dwc: dra7xx: Push request_irq() call to the bottom of probe

Keith Busch (5):
PCI: Export PCI device config accessors
PCI: Add device disconnected state
PCI: Don't attempt config access to disconnected devices
PCI/MSI: Skip disabling disconnected devices
PCI: Short-circuit pci_device_is_present() for disconnected devices

Kishon Vijay Abraham I (29):
PCI: dwc: designware: Add new *ops* for CPU addr fixup
PCI: dwc: dra7xx: Populate cpu_addr_fixup ops
PCI: dwc: artpec6: Populate cpu_addr_fixup ops
PCI: dwc: all: Modify dbi accessors to take dbi_base as argument
PCI: dwc: all: Modify dbi accessors to access data of 4/2/1 bytes
PCI: dwc: designware: Move _unroll configurations to a separate function
PCI: endpoint: Add EP core layer to enable EP controller and EP functions
Documentation: PCI: Guide to use PCI Endpoint Core Layer
PCI: endpoint: Introduce configfs entry for configuring EP functions
Documentation: PCI: Guide to use PCI endpoint configfs
PCI: endpoint: Create configfs entry for EPC device and EPF driver
Documentation: PCI: Add specification for the *PCI test* function device
PCI: endpoint: functions: Add an EP function to test PCI
Documentation: PCI: Add binding documentation for pci-test endpoint function
PCI: dwc: designware: Add EP mode support
dt-bindings: PCI: Add DT bindings for PCI designware EP mode
PCI: dwc: dra7xx: Facilitate wrapper and MSI interrupts to be enabled independently
PCI: dwc: dra7xx: Add EP mode support
dt-bindings: PCI: dra7xx: Add DT bindings for PCI dra7xx EP mode
PCI: dwc: dra7xx: Workaround for errata id i870
dt-bindings: PCI: dra7xx: Add DT bindings to enable unaligned access
PCI: Add device IDs for DRA74x and DRA72x
misc: Add host side PCI driver for PCI test function device
Documentation: misc-devices: Add Documentation for pci-endpoint-test driver
tools: PCI: Add a userspace tool to test PCI endpoint
tools: PCI: Add sample test script to invoke pcitest
Documentation: PCI: Add userguide for PCI endpoint test function
MAINTAINERS: Add PCI Endpoint maintainer
ARM: DRA7: clockdomain: Change the CLKTRCTRL of CM_PCIE_CLKSTCTRL to SW_WKUP

Linus Walleij (2):
PCI: Add DT bindings for Faraday Technology PCI Host Bridge
PCI: faraday: Add Faraday Technology FTPCI100 PCI Host Bridge driver

Logan Gunthorpe (4):
MicroSemi Switchtec management interface driver
switchtec: Add user interface documentation
switchtec: Add sysfs attributes to the Switchtec driver
switchtec: Add IOCTLs to the Switchtec driver

Long Li (2):
PCI: hv: Properly handle PCI bus remove
PCI: hv: Lock PCI bus on device eject

Lorenzo Pieralisi (21):
PCI: Remove __weak tag from pci_remap_iospace()
linux/io.h: Add pci_remap_cfgspace() interface
ARM64: Implement pci_remap_cfgspace() interface
ARM: Implement pci_remap_cfgspace() interface
devres: fix devm_ioremap_*() offset parameter kerneldoc description
PCI: Implement devm_pci_remap_cfgspace()
PCI: ECAM: Map config region with pci_remap_cfgspace()
PCI: xilinx: Update PCI config space remap function
PCI: xilinx-nwl: Update PCI config space remap function
PCI: spear13xx: Update PCI config space remap function
PCI: rockchip: Update PCI config space remap function
PCI: qcom: Update PCI config space remap function
PCI: iproc-platform: Update PCI config space remap function
PCI: designware: Update PCI config space remap function
PCI: armada8k: Update PCI config space remap function
PCI: xgene: Update PCI config space remap function
PCI: tegra: Update PCI config space remap function
PCI: hisi: Update PCI config space remap function
PCI: layerscape: Update PCI config space remap function
PCI: keystone-dw: Update PCI config space remap function
PCI: versatile: Update PCI config space remap function

Lukas Wunner (1):
PCI: Freeze PME scan before suspending devices

Manish Jaggi (1):
PCI: Apply Cavium ACS quirk only to CN81xx/CN83xx/CN88xx devices

Marc Gonzalez (3):
PCI: Include pci.h for struct pci_ops definition
PCI: Improve __pci_read_base() robustness
PCI: Change pci_host_common_probe() visibility

Matthias Kaehlcke (1):
PCI: Make PCI_ROM_ADDRESS_MASK a 32-bit constant

Prarit Bhargava (1):
PCI/MSI: Stop disabling MSI/MSI-X in pci_device_shutdown()

Russell King (1):
PCI: mvebu: Avoid changing the SCC bit in the Link Status register

Sasha Neftin (1):
PCI: Avoid FLR for Intel 82579 NICs

Shawn Lin (2):
PCI: rockchip: Advertise 128-byte Read Completion Boundary support
PCI: rockchip: Set PCI_EXP_LNKSTA_SLC in the Root Port

Stefan Assmann (1):
PCI: Disable boot interrupt quirk for ASUS M2N-LR

Thomas Petazzoni (3):
PCI: aardvark: Move to MSI handling using generic MSI support
PCI: mvebu: Remove useless MSI enabling code
of/pci: Remove unused MSI controller helpers

Tomasz Nowicki (1):
PCI/ACPI: Add ThunderX pass2.x 2nd node MCFG quirk

Yongji Xie (5):
PCI: Ignore requested alignment for IOV BARs
PCI: Fix calculation of bridge window's size and alignment
PCI: Add pcibios_default_alignment() for arch-specific alignment control
powerpc/powernv: Override pcibios_default_alignment() to force PCI devices to be page aligned
PCI: Don't resize resources when realigning all devices in system

Documentation/ABI/testing/sysfs-bus-pci | 22 +
Documentation/ABI/testing/sysfs-class-switchtec | 96 ++
Documentation/PCI/00-INDEX | 10 +
.../PCI/endpoint/function/binding/pci-test.txt | 17 +
Documentation/PCI/endpoint/pci-endpoint-cfs.txt | 105 ++
Documentation/PCI/endpoint/pci-endpoint.txt | 215 +++
Documentation/PCI/endpoint/pci-test-function.txt | 66 +
Documentation/PCI/endpoint/pci-test-howto.txt | 179 +++
Documentation/PCI/pci-iov-howto.txt | 12 +
.../devicetree/bindings/pci/designware-pcie.txt | 26 +-
.../devicetree/bindings/pci/faraday,ftpci100.txt | 129 ++
.../devicetree/bindings/pci/fsl,imx6q-pcie.txt | 14 +-
Documentation/devicetree/bindings/pci/ti-pci.txt | 42 +-
Documentation/driver-model/devres.txt | 6 +-
Documentation/filesystems/sysfs-pci.txt | 15 +-
Documentation/ioctl/ioctl-number.txt | 1 +
Documentation/misc-devices/pci-endpoint-test.txt | 35 +
Documentation/switchtec.txt | 80 +
MAINTAINERS | 20 +
arch/arm/include/asm/io.h | 10 +
arch/arm/include/asm/pci.h | 3 +-
arch/arm/kernel/bios32.c | 19 -
arch/arm/mach-omap2/clockdomains7xx_data.c | 2 +-
arch/arm/mm/ioremap.c | 7 +
arch/arm/mm/nommu.c | 12 +
arch/arm64/include/asm/io.h | 10 +
arch/arm64/include/asm/pci.h | 2 +
arch/cris/arch-v32/drivers/pci/bios.c | 22 -
arch/cris/include/asm/pci.h | 4 +-
arch/ia64/include/asm/pci.h | 5 +-
arch/ia64/pci/pci.c | 46 -
arch/microblaze/include/asm/pci.h | 6 +-
arch/microblaze/pci/pci-common.c | 2 +-
arch/mips/include/asm/pci.h | 5 +-
arch/mips/pci/pci.c | 24 -
arch/mn10300/include/asm/pci.h | 4 +-
arch/mn10300/unit-asb2305/pci-asb2305.c | 23 -
arch/parisc/include/asm/pci.h | 4 +-
arch/parisc/kernel/pci.c | 28 -
arch/powerpc/include/asm/machdep.h | 2 +
arch/powerpc/include/asm/pci.h | 9 +-
arch/powerpc/kernel/pci-common.c | 11 +-
arch/powerpc/platforms/powernv/pci-ioda.c | 7 +
arch/sh/drivers/pci/pci.c | 21 -
arch/sh/include/asm/pci.h | 4 +-
arch/sparc/include/asm/pci_64.h | 5 +-
arch/sparc/kernel/pci.c | 6 +-
arch/unicore32/include/asm/pci.h | 3 +-
arch/unicore32/kernel/pci.c | 23 -
arch/x86/include/asm/pci.h | 7 +-
arch/x86/pci/i386.c | 47 -
arch/xtensa/include/asm/pci.h | 7 +-
arch/xtensa/kernel/pci.c | 24 +-
drivers/Makefile | 2 +
drivers/acpi/pci_mcfg.c | 14 +-
drivers/infiniband/hw/hfi1/chip.c | 4 +-
drivers/infiniband/hw/hfi1/hfi.h | 1 -
drivers/infiniband/hw/hfi1/pcie.c | 30 -
drivers/misc/Kconfig | 7 +
drivers/misc/Makefile | 1 +
drivers/misc/pci_endpoint_test.c | 534 +++++++
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 16 +-
drivers/nvme/host/pci.c | 30 +-
drivers/of/of_pci.c | 45 -
drivers/pci/Kconfig | 2 +
drivers/pci/Makefile | 3 +-
drivers/pci/access.c | 61 +-
drivers/pci/dwc/Kconfig | 36 +-
drivers/pci/dwc/Makefile | 5 +-
drivers/pci/dwc/pci-dra7xx.c | 293 +++-
drivers/pci/dwc/pci-exynos.c | 14 +-
drivers/pci/dwc/pci-imx6.c | 199 ++-
drivers/pci/dwc/pci-keystone-dw.c | 2 +-
drivers/pci/dwc/pci-layerscape.c | 3 +-
drivers/pci/dwc/pcie-armada8k.c | 3 +-
drivers/pci/dwc/pcie-artpec6.c | 12 +-
drivers/pci/dwc/pcie-designware-ep.c | 342 +++++
drivers/pci/dwc/pcie-designware-host.c | 39 +-
drivers/pci/dwc/pcie-designware-plat.c | 1 +
drivers/pci/dwc/pcie-designware.c | 258 +++-
drivers/pci/dwc/pcie-designware.h | 135 +-
drivers/pci/dwc/pcie-hisi.c | 9 +-
drivers/pci/dwc/pcie-qcom.c | 2 +-
drivers/pci/dwc/pcie-spear13xx.c | 3 +-
drivers/pci/ecam.c | 6 +-
drivers/pci/endpoint/Kconfig | 31 +
drivers/pci/endpoint/Makefile | 7 +
drivers/pci/endpoint/functions/Kconfig | 12 +
drivers/pci/endpoint/functions/Makefile | 5 +
drivers/pci/endpoint/functions/pci-epf-test.c | 510 +++++++
drivers/pci/endpoint/pci-ep-cfs.c | 509 +++++++
drivers/pci/endpoint/pci-epc-core.c | 580 +++++++
drivers/pci/endpoint/pci-epc-mem.c | 143 ++
drivers/pci/endpoint/pci-epf-core.c | 359 +++++
drivers/pci/host/Kconfig | 10 +-
drivers/pci/host/Makefile | 1 +
drivers/pci/host/pci-aardvark.c | 173 +--
drivers/pci/host/pci-ftpci100.c | 563 +++++++
drivers/pci/host/pci-host-generic.c | 1 +
drivers/pci/host/pci-hyperv.c | 46 +-
drivers/pci/host/pci-mvebu.c | 22 +-
drivers/pci/host/pci-tegra.c | 4 +-
drivers/pci/host/pci-thunder-ecam.c | 1 +
drivers/pci/host/pci-thunder-pem.c | 1 +
drivers/pci/host/pci-versatile.c | 4 +-
drivers/pci/host/pci-xgene.c | 5 +-
drivers/pci/host/pcie-iproc-platform.c | 3 +-
drivers/pci/host/pcie-rockchip.c | 91 +-
drivers/pci/host/pcie-xilinx-nwl.c | 2 +-
drivers/pci/host/pcie-xilinx.c | 2 +-
drivers/pci/hotplug/pciehp_pci.c | 6 +
drivers/pci/iov.c | 1 +
drivers/pci/irq.c | 61 +-
drivers/pci/mmap.c | 99 ++
drivers/pci/msi.c | 17 +-
drivers/pci/pci-driver.c | 24 +-
drivers/pci/pci-sysfs.c | 104 +-
drivers/pci/pci.c | 252 ++-
drivers/pci/pci.h | 19 +-
drivers/pci/pcie/pcie-dpc.c | 5 +
drivers/pci/probe.c | 4 +-
drivers/pci/proc.c | 41 +-
drivers/pci/quirks.c | 82 +-
drivers/pci/search.c | 4 +
drivers/pci/setup-bus.c | 4 +-
drivers/pci/setup-res.c | 2 +-
drivers/pci/switch/Kconfig | 13 +
drivers/pci/switch/Makefile | 1 +
drivers/pci/switch/switchtec.c | 1600 ++++++++++++++++++++
include/linux/interrupt.h | 2 +-
include/linux/io.h | 21 +
include/linux/mfd/syscon/imx7-iomuxc-gpr.h | 4 +
include/linux/mod_devicetable.h | 10 +
include/linux/of_pci.h | 11 -
include/linux/pci-ecam.h | 3 +-
include/linux/pci-ep-cfs.h | 41 +
include/linux/pci-epc.h | 144 ++
include/linux/pci-epf.h | 162 ++
include/linux/pci.h | 84 +-
include/linux/pci_ids.h | 2 +
include/uapi/linux/Kbuild | 1 +
include/uapi/linux/pci_regs.h | 2 +-
include/uapi/linux/pcitest.h | 19 +
include/uapi/linux/switchtec_ioctl.h | 132 ++
kernel/irq/manage.c | 15 +-
lib/devres.c | 6 +-
tools/pci/pcitest.c | 186 +++
tools/pci/pcitest.sh | 56 +
148 files changed, 8937 insertions(+), 1004 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-class-switchtec
create mode 100644 Documentation/PCI/endpoint/function/binding/pci-test.txt
create mode 100644 Documentation/PCI/endpoint/pci-endpoint-cfs.txt
create mode 100644 Documentation/PCI/endpoint/pci-endpoint.txt
create mode 100644 Documentation/PCI/endpoint/pci-test-function.txt
create mode 100644 Documentation/PCI/endpoint/pci-test-howto.txt
create mode 100644 Documentation/devicetree/bindings/pci/faraday,ftpci100.txt
create mode 100644 Documentation/misc-devices/pci-endpoint-test.txt
create mode 100644 Documentation/switchtec.txt
create mode 100644 drivers/misc/pci_endpoint_test.c
create mode 100644 drivers/pci/dwc/pcie-designware-ep.c
create mode 100644 drivers/pci/endpoint/Kconfig
create mode 100644 drivers/pci/endpoint/Makefile
create mode 100644 drivers/pci/endpoint/functions/Kconfig
create mode 100644 drivers/pci/endpoint/functions/Makefile
create mode 100644 drivers/pci/endpoint/functions/pci-epf-test.c
create mode 100644 drivers/pci/endpoint/pci-ep-cfs.c
create mode 100644 drivers/pci/endpoint/pci-epc-core.c
create mode 100644 drivers/pci/endpoint/pci-epc-mem.c
create mode 100644 drivers/pci/endpoint/pci-epf-core.c
create mode 100644 drivers/pci/host/pci-ftpci100.c
create mode 100644 drivers/pci/mmap.c
create mode 100644 drivers/pci/switch/Kconfig
create mode 100644 drivers/pci/switch/Makefile
create mode 100644 drivers/pci/switch/switchtec.c
create mode 100644 include/linux/pci-ep-cfs.h
create mode 100644 include/linux/pci-epc.h
create mode 100644 include/linux/pci-epf.h
create mode 100644 include/uapi/linux/pcitest.h
create mode 100644 include/uapi/linux/switchtec_ioctl.h
create mode 100644 tools/pci/pcitest.c
create mode 100644 tools/pci/pcitest.sh