Browse Source

PCI: Collect all native drivers under drivers/pci/controller/

Native PCI drivers for root complex devices were originally all in
drivers/pci/host/.  Some of these devices can also be operated in endpoint
mode.  Drivers for endpoint mode didn't seem to fit in the "host"
directory, so we put both the root complex and endpoint drivers in
per-device directories, e.g., drivers/pci/dwc/, drivers/pci/cadence/, etc.

These per-device directories contain trivial Kconfig and Makefiles and
clutter drivers/pci/.  Make a new drivers/pci/controllers/ directory and
collect all the device-specific drivers there.

No functional change intended.

Link: https://lkml.kernel.org/r/1520304202-232891-1-git-send-email-shawn.lin@rock-chips.com
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
[bhelgaas: changelog]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Shawn Lin 7 years ago
parent
commit
6e0832fa43
64 changed files with 75 additions and 79 deletions
  1. 34 36
      MAINTAINERS
  2. 1 3
      drivers/pci/Kconfig
  3. 1 5
      drivers/pci/Makefile
  4. 0 27
      drivers/pci/cadence/Kconfig
  5. 0 4
      drivers/pci/cadence/Makefile
  6. 30 1
      drivers/pci/controller/Kconfig
  7. 6 0
      drivers/pci/controller/Makefile
  8. 0 0
      drivers/pci/controller/dwc/Kconfig
  9. 0 0
      drivers/pci/controller/dwc/Makefile
  10. 1 1
      drivers/pci/controller/dwc/pci-dra7xx.c
  11. 0 0
      drivers/pci/controller/dwc/pci-exynos.c
  12. 0 0
      drivers/pci/controller/dwc/pci-imx6.c
  13. 0 0
      drivers/pci/controller/dwc/pci-keystone-dw.c
  14. 0 0
      drivers/pci/controller/dwc/pci-keystone.c
  15. 0 0
      drivers/pci/controller/dwc/pci-keystone.h
  16. 0 0
      drivers/pci/controller/dwc/pci-layerscape.c
  17. 0 0
      drivers/pci/controller/dwc/pcie-armada8k.c
  18. 0 0
      drivers/pci/controller/dwc/pcie-artpec6.c
  19. 0 0
      drivers/pci/controller/dwc/pcie-designware-ep.c
  20. 1 1
      drivers/pci/controller/dwc/pcie-designware-host.c
  21. 0 0
      drivers/pci/controller/dwc/pcie-designware-plat.c
  22. 0 0
      drivers/pci/controller/dwc/pcie-designware.c
  23. 0 0
      drivers/pci/controller/dwc/pcie-designware.h
  24. 1 1
      drivers/pci/controller/dwc/pcie-hisi.c
  25. 0 0
      drivers/pci/controller/dwc/pcie-histb.c
  26. 0 0
      drivers/pci/controller/dwc/pcie-kirin.c
  27. 0 0
      drivers/pci/controller/dwc/pcie-qcom.c
  28. 0 0
      drivers/pci/controller/dwc/pcie-spear13xx.c
  29. 0 0
      drivers/pci/controller/pci-aardvark.c
  30. 0 0
      drivers/pci/controller/pci-ftpci100.c
  31. 0 0
      drivers/pci/controller/pci-host-common.c
  32. 0 0
      drivers/pci/controller/pci-host-generic.c
  33. 0 0
      drivers/pci/controller/pci-hyperv.c
  34. 0 0
      drivers/pci/controller/pci-mvebu.c
  35. 0 0
      drivers/pci/controller/pci-rcar-gen2.c
  36. 0 0
      drivers/pci/controller/pci-tegra.c
  37. 0 0
      drivers/pci/controller/pci-thunder-ecam.c
  38. 0 0
      drivers/pci/controller/pci-thunder-pem.c
  39. 0 0
      drivers/pci/controller/pci-v3-semi.c
  40. 0 0
      drivers/pci/controller/pci-versatile.c
  41. 0 0
      drivers/pci/controller/pci-xgene-msi.c
  42. 0 0
      drivers/pci/controller/pci-xgene.c
  43. 0 0
      drivers/pci/controller/pcie-altera-msi.c
  44. 0 0
      drivers/pci/controller/pcie-altera.c
  45. 0 0
      drivers/pci/controller/pcie-cadence-ep.c
  46. 0 0
      drivers/pci/controller/pcie-cadence-host.c
  47. 0 0
      drivers/pci/controller/pcie-cadence.c
  48. 0 0
      drivers/pci/controller/pcie-cadence.h
  49. 0 0
      drivers/pci/controller/pcie-iproc-bcma.c
  50. 0 0
      drivers/pci/controller/pcie-iproc-msi.c
  51. 0 0
      drivers/pci/controller/pcie-iproc-platform.c
  52. 0 0
      drivers/pci/controller/pcie-iproc.c
  53. 0 0
      drivers/pci/controller/pcie-iproc.h
  54. 0 0
      drivers/pci/controller/pcie-mediatek.c
  55. 0 0
      drivers/pci/controller/pcie-mobiveil.c
  56. 0 0
      drivers/pci/controller/pcie-rcar.c
  57. 0 0
      drivers/pci/controller/pcie-rockchip-ep.c
  58. 0 0
      drivers/pci/controller/pcie-rockchip-host.c
  59. 0 0
      drivers/pci/controller/pcie-rockchip.c
  60. 0 0
      drivers/pci/controller/pcie-rockchip.h
  61. 0 0
      drivers/pci/controller/pcie-tango.c
  62. 0 0
      drivers/pci/controller/pcie-xilinx-nwl.c
  63. 0 0
      drivers/pci/controller/pcie-xilinx.c
  64. 0 0
      drivers/pci/controller/vmd.c

+ 34 - 36
MAINTAINERS

@@ -6607,7 +6607,7 @@ F:	arch/x86/hyperv
 F:	drivers/hid/hid-hyperv.c
 F:	drivers/hid/hid-hyperv.c
 F:	drivers/hv/
 F:	drivers/hv/
 F:	drivers/input/serio/hyperv-keyboard.c
 F:	drivers/input/serio/hyperv-keyboard.c
-F:	drivers/pci/host/pci-hyperv.c
+F:	drivers/pci/controller/pci-hyperv.c
 F:	drivers/net/hyperv/
 F:	drivers/net/hyperv/
 F:	drivers/scsi/storvsc_drv.c
 F:	drivers/scsi/storvsc_drv.c
 F:	drivers/uio/uio_hv_generic.c
 F:	drivers/uio/uio_hv_generic.c
@@ -9489,7 +9489,7 @@ M:	Subrahmanya Lingappa <l.subrahmanya@mobiveil.co.in>
 L:	linux-pci@vger.kernel.org
 L:	linux-pci@vger.kernel.org
 S:	Supported
 S:	Supported
 F:	Documentation/devicetree/bindings/pci/mobiveil-pcie.txt
 F:	Documentation/devicetree/bindings/pci/mobiveil-pcie.txt
-F:	drivers/pci/host/pcie-mobiveil.c
+F:	drivers/pci/controller/pcie-mobiveil.c
 
 
 MODULE SUPPORT
 MODULE SUPPORT
 M:	Jessica Yu <jeyu@kernel.org>
 M:	Jessica Yu <jeyu@kernel.org>
@@ -10791,7 +10791,7 @@ L:	linux-pci@vger.kernel.org
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 S:	Maintained
 F:	Documentation/devicetree/bindings/pci/aardvark-pci.txt
 F:	Documentation/devicetree/bindings/pci/aardvark-pci.txt
-F:	drivers/pci/host/pci-aardvark.c
+F:	drivers/pci/controller/pci-aardvark.c
 
 
 PCI DRIVER FOR ALTERA PCIE IP
 PCI DRIVER FOR ALTERA PCIE IP
 M:	Ley Foon Tan <lftan@altera.com>
 M:	Ley Foon Tan <lftan@altera.com>
@@ -10799,7 +10799,7 @@ L:	rfi@lists.rocketboards.org (moderated for non-subscribers)
 L:	linux-pci@vger.kernel.org
 L:	linux-pci@vger.kernel.org
 S:	Supported
 S:	Supported
 F:	Documentation/devicetree/bindings/pci/altera-pcie.txt
 F:	Documentation/devicetree/bindings/pci/altera-pcie.txt
-F:	drivers/pci/host/pcie-altera.c
+F:	drivers/pci/controller/pcie-altera.c
 
 
 PCI DRIVER FOR APPLIEDMICRO XGENE
 PCI DRIVER FOR APPLIEDMICRO XGENE
 M:	Tanmay Inamdar <tinamdar@apm.com>
 M:	Tanmay Inamdar <tinamdar@apm.com>
@@ -10807,7 +10807,7 @@ L:	linux-pci@vger.kernel.org
 L:	linux-arm-kernel@lists.infradead.org
 L:	linux-arm-kernel@lists.infradead.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/devicetree/bindings/pci/xgene-pci.txt
 F:	Documentation/devicetree/bindings/pci/xgene-pci.txt
-F:	drivers/pci/host/pci-xgene.c
+F:	drivers/pci/controller/pci-xgene.c
 
 
 PCI DRIVER FOR ARM VERSATILE PLATFORM
 PCI DRIVER FOR ARM VERSATILE PLATFORM
 M:	Rob Herring <robh@kernel.org>
 M:	Rob Herring <robh@kernel.org>
@@ -10815,7 +10815,7 @@ L:	linux-pci@vger.kernel.org
 L:	linux-arm-kernel@lists.infradead.org
 L:	linux-arm-kernel@lists.infradead.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/devicetree/bindings/pci/versatile.txt
 F:	Documentation/devicetree/bindings/pci/versatile.txt
-F:	drivers/pci/host/pci-versatile.c
+F:	drivers/pci/controller/pci-versatile.c
 
 
 PCI DRIVER FOR ARMADA 8K
 PCI DRIVER FOR ARMADA 8K
 M:	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
 M:	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
@@ -10823,14 +10823,14 @@ L:	linux-pci@vger.kernel.org
 L:	linux-arm-kernel@lists.infradead.org
 L:	linux-arm-kernel@lists.infradead.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/devicetree/bindings/pci/pci-armada8k.txt
 F:	Documentation/devicetree/bindings/pci/pci-armada8k.txt
-F:	drivers/pci/dwc/pcie-armada8k.c
+F:	drivers/pci/controller/dwc/pcie-armada8k.c
 
 
 PCI DRIVER FOR CADENCE PCIE IP
 PCI DRIVER FOR CADENCE PCIE IP
 M:	Alan Douglas <adouglas@cadence.com>
 M:	Alan Douglas <adouglas@cadence.com>
 L:	linux-pci@vger.kernel.org
 L:	linux-pci@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/devicetree/bindings/pci/cdns,*.txt
 F:	Documentation/devicetree/bindings/pci/cdns,*.txt
-F:	drivers/pci/cadence/pcie-cadence*
+F:	drivers/pci/controller/pcie-cadence*
 
 
 PCI DRIVER FOR FREESCALE LAYERSCAPE
 PCI DRIVER FOR FREESCALE LAYERSCAPE
 M:	Minghuan Lian <minghuan.Lian@nxp.com>
 M:	Minghuan Lian <minghuan.Lian@nxp.com>
@@ -10840,16 +10840,16 @@ L:	linuxppc-dev@lists.ozlabs.org
 L:	linux-pci@vger.kernel.org
 L:	linux-pci@vger.kernel.org
 L:	linux-arm-kernel@lists.infradead.org
 L:	linux-arm-kernel@lists.infradead.org
 S:	Maintained
 S:	Maintained
-F:	drivers/pci/dwc/*layerscape*
+F:	drivers/pci/controller/dwc/*layerscape*
 
 
 PCI DRIVER FOR GENERIC OF HOSTS
 PCI DRIVER FOR GENERIC OF HOSTS
 M:	Will Deacon <will.deacon@arm.com>
 M:	Will Deacon <will.deacon@arm.com>
 L:	linux-pci@vger.kernel.org
 L:	linux-pci@vger.kernel.org
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 S:	Maintained
-F:	Documentation/devicetree/bindings/pci/host-generic-pci.txt
-F:	drivers/pci/host/pci-host-common.c
-F:	drivers/pci/host/pci-host-generic.c
+F:	Documentation/devicetree/bindings/pci/controller-generic-pci.txt
+F:	drivers/pci/controller/pci-host-common.c
+F:	drivers/pci/controller/pci-host-generic.c
 
 
 PCI DRIVER FOR IMX6
 PCI DRIVER FOR IMX6
 M:	Richard Zhu <hongxing.zhu@nxp.com>
 M:	Richard Zhu <hongxing.zhu@nxp.com>
@@ -10858,14 +10858,14 @@ L:	linux-pci@vger.kernel.org
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 S:	Maintained
 F:	Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
 F:	Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
-F:	drivers/pci/dwc/*imx6*
+F:	drivers/pci/controller/dwc/*imx6*
 
 
 PCI DRIVER FOR INTEL VOLUME MANAGEMENT DEVICE (VMD)
 PCI DRIVER FOR INTEL VOLUME MANAGEMENT DEVICE (VMD)
 M:	Keith Busch <keith.busch@intel.com>
 M:	Keith Busch <keith.busch@intel.com>
 M:	Jonathan Derrick <jonathan.derrick@intel.com>
 M:	Jonathan Derrick <jonathan.derrick@intel.com>
 L:	linux-pci@vger.kernel.org
 L:	linux-pci@vger.kernel.org
 S:	Supported
 S:	Supported
-F:	drivers/pci/host/vmd.c
+F:	drivers/pci/controller/vmd.c
 
 
 PCI DRIVER FOR MICROSEMI SWITCHTEC
 PCI DRIVER FOR MICROSEMI SWITCHTEC
 M:	Kurt Schwemmer <kurt.schwemmer@microsemi.com>
 M:	Kurt Schwemmer <kurt.schwemmer@microsemi.com>
@@ -10885,7 +10885,7 @@ M:	Jason Cooper <jason@lakedaemon.net>
 L:	linux-pci@vger.kernel.org
 L:	linux-pci@vger.kernel.org
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 S:	Maintained
-F:	drivers/pci/host/*mvebu*
+F:	drivers/pci/controller/*mvebu*
 
 
 PCI DRIVER FOR NVIDIA TEGRA
 PCI DRIVER FOR NVIDIA TEGRA
 M:	Thierry Reding <thierry.reding@gmail.com>
 M:	Thierry Reding <thierry.reding@gmail.com>
@@ -10893,14 +10893,14 @@ L:	linux-tegra@vger.kernel.org
 L:	linux-pci@vger.kernel.org
 L:	linux-pci@vger.kernel.org
 S:	Supported
 S:	Supported
 F:	Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt
 F:	Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt
-F:	drivers/pci/host/pci-tegra.c
+F:	drivers/pci/controller/pci-tegra.c
 
 
 PCI DRIVER FOR RENESAS R-CAR
 PCI DRIVER FOR RENESAS R-CAR
 M:	Simon Horman <horms@verge.net.au>
 M:	Simon Horman <horms@verge.net.au>
 L:	linux-pci@vger.kernel.org
 L:	linux-pci@vger.kernel.org
 L:	linux-renesas-soc@vger.kernel.org
 L:	linux-renesas-soc@vger.kernel.org
 S:	Maintained
 S:	Maintained
-F:	drivers/pci/host/*rcar*
+F:	drivers/pci/controller/*rcar*
 
 
 PCI DRIVER FOR SAMSUNG EXYNOS
 PCI DRIVER FOR SAMSUNG EXYNOS
 M:	Jingoo Han <jingoohan1@gmail.com>
 M:	Jingoo Han <jingoohan1@gmail.com>
@@ -10908,7 +10908,7 @@ L:	linux-pci@vger.kernel.org
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-samsung-soc@vger.kernel.org (moderated for non-subscribers)
 L:	linux-samsung-soc@vger.kernel.org (moderated for non-subscribers)
 S:	Maintained
 S:	Maintained
-F:	drivers/pci/dwc/pci-exynos.c
+F:	drivers/pci/controller/dwc/pci-exynos.c
 
 
 PCI DRIVER FOR SYNOPSYS DESIGNWARE
 PCI DRIVER FOR SYNOPSYS DESIGNWARE
 M:	Jingoo Han <jingoohan1@gmail.com>
 M:	Jingoo Han <jingoohan1@gmail.com>
@@ -10916,7 +10916,7 @@ M:	Joao Pinto <Joao.Pinto@synopsys.com>
 L:	linux-pci@vger.kernel.org
 L:	linux-pci@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/devicetree/bindings/pci/designware-pcie.txt
 F:	Documentation/devicetree/bindings/pci/designware-pcie.txt
-F:	drivers/pci/dwc/*designware*
+F:	drivers/pci/controller/dwc/*designware*
 
 
 PCI DRIVER FOR TI DRA7XX
 PCI DRIVER FOR TI DRA7XX
 M:	Kishon Vijay Abraham I <kishon@ti.com>
 M:	Kishon Vijay Abraham I <kishon@ti.com>
@@ -10924,14 +10924,14 @@ L:	linux-omap@vger.kernel.org
 L:	linux-pci@vger.kernel.org
 L:	linux-pci@vger.kernel.org
 S:	Supported
 S:	Supported
 F:	Documentation/devicetree/bindings/pci/ti-pci.txt
 F:	Documentation/devicetree/bindings/pci/ti-pci.txt
-F:	drivers/pci/dwc/pci-dra7xx.c
+F:	drivers/pci/controller/dwc/pci-dra7xx.c
 
 
 PCI DRIVER FOR TI KEYSTONE
 PCI DRIVER FOR TI KEYSTONE
 M:	Murali Karicheri <m-karicheri2@ti.com>
 M:	Murali Karicheri <m-karicheri2@ti.com>
 L:	linux-pci@vger.kernel.org
 L:	linux-pci@vger.kernel.org
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 S:	Maintained
-F:	drivers/pci/dwc/*keystone*
+F:	drivers/pci/controller/dwc/*keystone*
 
 
 PCI ENDPOINT SUBSYSTEM
 PCI ENDPOINT SUBSYSTEM
 M:	Kishon Vijay Abraham I <kishon@ti.com>
 M:	Kishon Vijay Abraham I <kishon@ti.com>
@@ -10964,7 +10964,7 @@ L:	rfi@lists.rocketboards.org (moderated for non-subscribers)
 L:	linux-pci@vger.kernel.org
 L:	linux-pci@vger.kernel.org
 S:	Supported
 S:	Supported
 F:	Documentation/devicetree/bindings/pci/altera-pcie-msi.txt
 F:	Documentation/devicetree/bindings/pci/altera-pcie-msi.txt
-F:	drivers/pci/host/pcie-altera-msi.c
+F:	drivers/pci/controller/pcie-altera-msi.c
 
 
 PCI MSI DRIVER FOR APPLIEDMICRO XGENE
 PCI MSI DRIVER FOR APPLIEDMICRO XGENE
 M:	Duc Dang <dhdang@apm.com>
 M:	Duc Dang <dhdang@apm.com>
@@ -10972,7 +10972,7 @@ L:	linux-pci@vger.kernel.org
 L:	linux-arm-kernel@lists.infradead.org
 L:	linux-arm-kernel@lists.infradead.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/devicetree/bindings/pci/xgene-pci-msi.txt
 F:	Documentation/devicetree/bindings/pci/xgene-pci-msi.txt
-F:	drivers/pci/host/pci-xgene-msi.c
+F:	drivers/pci/controller/pci-xgene-msi.c
 
 
 PCI SUBSYSTEM
 PCI SUBSYSTEM
 M:	Bjorn Helgaas <bhelgaas@google.com>
 M:	Bjorn Helgaas <bhelgaas@google.com>
@@ -10998,9 +10998,7 @@ L:	linux-pci@vger.kernel.org
 Q:	http://patchwork.ozlabs.org/project/linux-pci/list/
 Q:	http://patchwork.ozlabs.org/project/linux-pci/list/
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/pci.git/
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/pci.git/
 S:	Supported
 S:	Supported
-F:	drivers/pci/cadence/
-F:	drivers/pci/host/
-F:	drivers/pci/dwc/
+F:	drivers/pci/controller/
 
 
 PCIE DRIVER FOR AXIS ARTPEC
 PCIE DRIVER FOR AXIS ARTPEC
 M:	Jesper Nilsson <jesper.nilsson@axis.com>
 M:	Jesper Nilsson <jesper.nilsson@axis.com>
@@ -11008,7 +11006,7 @@ L:	linux-arm-kernel@axis.com
 L:	linux-pci@vger.kernel.org
 L:	linux-pci@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/devicetree/bindings/pci/axis,artpec*
 F:	Documentation/devicetree/bindings/pci/axis,artpec*
-F:	drivers/pci/dwc/*artpec*
+F:	drivers/pci/controller/dwc/*artpec*
 
 
 PCIE DRIVER FOR CAVIUM THUNDERX
 PCIE DRIVER FOR CAVIUM THUNDERX
 M:	David Daney <david.daney@cavium.com>
 M:	David Daney <david.daney@cavium.com>
@@ -11016,14 +11014,14 @@ L:	linux-pci@vger.kernel.org
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Supported
 S:	Supported
 F:	Documentation/devicetree/bindings/pci/pci-thunder-*
 F:	Documentation/devicetree/bindings/pci/pci-thunder-*
-F:	drivers/pci/host/pci-thunder-*
+F:	drivers/pci/controller/pci-thunder-*
 
 
 PCIE DRIVER FOR HISILICON
 PCIE DRIVER FOR HISILICON
 M:	Zhou Wang <wangzhou1@hisilicon.com>
 M:	Zhou Wang <wangzhou1@hisilicon.com>
 L:	linux-pci@vger.kernel.org
 L:	linux-pci@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/devicetree/bindings/pci/hisilicon-pcie.txt
 F:	Documentation/devicetree/bindings/pci/hisilicon-pcie.txt
-F:	drivers/pci/dwc/pcie-hisi.c
+F:	drivers/pci/controller/dwc/pcie-hisi.c
 
 
 PCIE DRIVER FOR HISILICON KIRIN
 PCIE DRIVER FOR HISILICON KIRIN
 M:	Xiaowei Song <songxiaowei@hisilicon.com>
 M:	Xiaowei Song <songxiaowei@hisilicon.com>
@@ -11031,7 +11029,7 @@ M:	Binghui Wang <wangbinghui@hisilicon.com>
 L:	linux-pci@vger.kernel.org
 L:	linux-pci@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/devicetree/bindings/pci/pcie-kirin.txt
 F:	Documentation/devicetree/bindings/pci/pcie-kirin.txt
-F:	drivers/pci/dwc/pcie-kirin.c
+F:	drivers/pci/controller/dwc/pcie-kirin.c
 
 
 PCIE DRIVER FOR HISILICON STB
 PCIE DRIVER FOR HISILICON STB
 M:	Jianguo Sun <sunjianguo1@huawei.com>
 M:	Jianguo Sun <sunjianguo1@huawei.com>
@@ -11039,7 +11037,7 @@ M:	Shawn Guo <shawn.guo@linaro.org>
 L:	linux-pci@vger.kernel.org
 L:	linux-pci@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/devicetree/bindings/pci/hisilicon-histb-pcie.txt
 F:	Documentation/devicetree/bindings/pci/hisilicon-histb-pcie.txt
-F:	drivers/pci/dwc/pcie-histb.c
+F:	drivers/pci/controller/dwc/pcie-histb.c
 
 
 PCIE DRIVER FOR MEDIATEK
 PCIE DRIVER FOR MEDIATEK
 M:	Ryder Lee <ryder.lee@mediatek.com>
 M:	Ryder Lee <ryder.lee@mediatek.com>
@@ -11047,14 +11045,14 @@ L:	linux-pci@vger.kernel.org
 L:	linux-mediatek@lists.infradead.org
 L:	linux-mediatek@lists.infradead.org
 S:	Supported
 S:	Supported
 F:	Documentation/devicetree/bindings/pci/mediatek*
 F:	Documentation/devicetree/bindings/pci/mediatek*
-F:	drivers/pci/host/*mediatek*
+F:	drivers/pci/controller/*mediatek*
 
 
 PCIE DRIVER FOR QUALCOMM MSM
 PCIE DRIVER FOR QUALCOMM MSM
 M:	Stanimir Varbanov <svarbanov@mm-sol.com>
 M:	Stanimir Varbanov <svarbanov@mm-sol.com>
 L:	linux-pci@vger.kernel.org
 L:	linux-pci@vger.kernel.org
 L:	linux-arm-msm@vger.kernel.org
 L:	linux-arm-msm@vger.kernel.org
 S:	Maintained
 S:	Maintained
-F:	drivers/pci/dwc/*qcom*
+F:	drivers/pci/controller/dwc/*qcom*
 
 
 PCIE DRIVER FOR ROCKCHIP
 PCIE DRIVER FOR ROCKCHIP
 M:	Shawn Lin <shawn.lin@rock-chips.com>
 M:	Shawn Lin <shawn.lin@rock-chips.com>
@@ -11062,20 +11060,20 @@ L:	linux-pci@vger.kernel.org
 L:	linux-rockchip@lists.infradead.org
 L:	linux-rockchip@lists.infradead.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/devicetree/bindings/pci/rockchip-pcie*
 F:	Documentation/devicetree/bindings/pci/rockchip-pcie*
-F:	drivers/pci/host/pcie-rockchip*
+F:	drivers/pci/controller/pcie-rockchip*
 
 
 PCI DRIVER FOR V3 SEMICONDUCTOR V360EPC
 PCI DRIVER FOR V3 SEMICONDUCTOR V360EPC
 M:	Linus Walleij <linus.walleij@linaro.org>
 M:	Linus Walleij <linus.walleij@linaro.org>
 L:	linux-pci@vger.kernel.org
 L:	linux-pci@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/devicetree/bindings/pci/v3-v360epc-pci.txt
 F:	Documentation/devicetree/bindings/pci/v3-v360epc-pci.txt
-F:	drivers/pci/host/pci-v3-semi.c
+F:	drivers/pci/controller/pci-v3-semi.c
 
 
 PCIE DRIVER FOR ST SPEAR13XX
 PCIE DRIVER FOR ST SPEAR13XX
 M:	Pratyush Anand <pratyush.anand@gmail.com>
 M:	Pratyush Anand <pratyush.anand@gmail.com>
 L:	linux-pci@vger.kernel.org
 L:	linux-pci@vger.kernel.org
 S:	Maintained
 S:	Maintained
-F:	drivers/pci/dwc/*spear*
+F:	drivers/pci/controller/dwc/*spear*
 
 
 PCMCIA SUBSYSTEM
 PCMCIA SUBSYSTEM
 M:	Dominik Brodowski <linux@dominikbrodowski.net>
 M:	Dominik Brodowski <linux@dominikbrodowski.net>

+ 1 - 3
drivers/pci/Kconfig

@@ -145,8 +145,6 @@ config PCI_HYPERV
           PCI devices from a PCI backend to support PCI driver domains.
           PCI devices from a PCI backend to support PCI driver domains.
 
 
 source "drivers/pci/hotplug/Kconfig"
 source "drivers/pci/hotplug/Kconfig"
-source "drivers/pci/cadence/Kconfig"
-source "drivers/pci/dwc/Kconfig"
-source "drivers/pci/host/Kconfig"
+source "drivers/pci/controller/Kconfig"
 source "drivers/pci/endpoint/Kconfig"
 source "drivers/pci/endpoint/Kconfig"
 source "drivers/pci/switch/Kconfig"
 source "drivers/pci/switch/Kconfig"

+ 1 - 5
drivers/pci/Makefile

@@ -28,14 +28,10 @@ obj-$(CONFIG_PCI_PF_STUB)	+= pci-pf-stub.o
 obj-$(CONFIG_PCI_ECAM)		+= ecam.o
 obj-$(CONFIG_PCI_ECAM)		+= ecam.o
 obj-$(CONFIG_XEN_PCIDEV_FRONTEND) += xen-pcifront.o
 obj-$(CONFIG_XEN_PCIDEV_FRONTEND) += xen-pcifront.o
 
 
-obj-y				+= host/
+obj-y				+= controller/
 obj-y				+= switch/
 obj-y				+= switch/
 
 
 # Endpoint library must be initialized before its users
 # Endpoint library must be initialized before its users
 obj-$(CONFIG_PCI_ENDPOINT)	+= endpoint/
 obj-$(CONFIG_PCI_ENDPOINT)	+= endpoint/
 
 
-obj-$(CONFIG_PCIE_CADENCE)	+= cadence/
-# pcie-hisi.o quirks are needed even without CONFIG_PCIE_DW
-obj-y				+= dwc/
-
 ccflags-$(CONFIG_PCI_DEBUG) := -DDEBUG
 ccflags-$(CONFIG_PCI_DEBUG) := -DDEBUG

+ 0 - 27
drivers/pci/cadence/Kconfig

@@ -1,27 +0,0 @@
-menu "Cadence PCIe controllers support"
-
-config PCIE_CADENCE
-	bool
-
-config PCIE_CADENCE_HOST
-	bool "Cadence PCIe host controller"
-	depends on OF
-	depends on PCI
-	select IRQ_DOMAIN
-	select PCIE_CADENCE
-	help
-	  Say Y here if you want to support the Cadence PCIe controller in host
-	  mode. This PCIe controller may be embedded into many different vendors
-	  SoCs.
-
-config PCIE_CADENCE_EP
-	bool "Cadence PCIe endpoint controller"
-	depends on OF
-	depends on PCI_ENDPOINT
-	select PCIE_CADENCE
-	help
-	  Say Y here if you want to support the Cadence PCIe  controller in
-	  endpoint mode. This PCIe controller may be embedded into many
-	  different vendors SoCs.
-
-endmenu

+ 0 - 4
drivers/pci/cadence/Makefile

@@ -1,4 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-obj-$(CONFIG_PCIE_CADENCE) += pcie-cadence.o
-obj-$(CONFIG_PCIE_CADENCE_HOST) += pcie-cadence-host.o
-obj-$(CONFIG_PCIE_CADENCE_EP) += pcie-cadence-ep.o

+ 30 - 1
drivers/pci/host/Kconfig → drivers/pci/controller/Kconfig

@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0
 # SPDX-License-Identifier: GPL-2.0
 
 
-menu "PCI host controller drivers"
+menu "PCI controller drivers"
 	depends on PCI
 	depends on PCI
 
 
 config PCI_MVEBU
 config PCI_MVEBU
@@ -20,6 +20,34 @@ config PCI_AARDVARK
 	 controller is part of the South Bridge of the Marvel Armada
 	 controller is part of the South Bridge of the Marvel Armada
 	 3700 SoC.
 	 3700 SoC.
 
 
+menu "Cadence PCIe controllers support"
+
+config PCIE_CADENCE
+	bool
+
+config PCIE_CADENCE_HOST
+	bool "Cadence PCIe host controller"
+	depends on OF
+	depends on PCI
+	select IRQ_DOMAIN
+	select PCIE_CADENCE
+	help
+	  Say Y here if you want to support the Cadence PCIe controller in host
+	  mode. This PCIe controller may be embedded into many different vendors
+	  SoCs.
+
+config PCIE_CADENCE_EP
+	bool "Cadence PCIe endpoint controller"
+	depends on OF
+	depends on PCI_ENDPOINT
+	select PCIE_CADENCE
+	help
+	  Say Y here if you want to support the Cadence PCIe  controller in
+	  endpoint mode. This PCIe controller may be embedded into many
+	  different vendors SoCs.
+
+endmenu
+
 config PCIE_XILINX_NWL
 config PCIE_XILINX_NWL
 	bool "NWL PCIe Core"
 	bool "NWL PCIe Core"
 	depends on ARCH_ZYNQMP || COMPILE_TEST
 	depends on ARCH_ZYNQMP || COMPILE_TEST
@@ -243,4 +271,5 @@ config VMD
 	  To compile this driver as a module, choose M here: the
 	  To compile this driver as a module, choose M here: the
 	  module will be called vmd.
 	  module will be called vmd.
 
 
+source "drivers/pci/controller/dwc/Kconfig"
 endmenu
 endmenu

+ 6 - 0
drivers/pci/host/Makefile → drivers/pci/controller/Makefile

@@ -1,4 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 # SPDX-License-Identifier: GPL-2.0
+obj-$(CONFIG_PCIE_CADENCE) += pcie-cadence.o
+obj-$(CONFIG_PCIE_CADENCE_HOST) += pcie-cadence-host.o
+obj-$(CONFIG_PCIE_CADENCE_EP) += pcie-cadence-ep.o
 obj-$(CONFIG_PCI_FTPCI100) += pci-ftpci100.o
 obj-$(CONFIG_PCI_FTPCI100) += pci-ftpci100.o
 obj-$(CONFIG_PCI_HYPERV) += pci-hyperv.o
 obj-$(CONFIG_PCI_HYPERV) += pci-hyperv.o
 obj-$(CONFIG_PCI_MVEBU) += pci-mvebu.o
 obj-$(CONFIG_PCI_MVEBU) += pci-mvebu.o
@@ -25,6 +28,9 @@ obj-$(CONFIG_PCIE_ROCKCHIP_HOST) += pcie-rockchip-host.o
 obj-$(CONFIG_PCIE_MEDIATEK) += pcie-mediatek.o
 obj-$(CONFIG_PCIE_MEDIATEK) += pcie-mediatek.o
 obj-$(CONFIG_PCIE_TANGO_SMP8759) += pcie-tango.o
 obj-$(CONFIG_PCIE_TANGO_SMP8759) += pcie-tango.o
 obj-$(CONFIG_VMD) += vmd.o
 obj-$(CONFIG_VMD) += vmd.o
+# pcie-hisi.o quirks are needed even without CONFIG_PCIE_DW
+obj-y				+= dwc/
+
 
 
 # The following drivers are for devices that use the generic ACPI
 # The following drivers are for devices that use the generic ACPI
 # pci_root.c driver but don't support standard ECAM config access.
 # pci_root.c driver but don't support standard ECAM config access.

+ 0 - 0
drivers/pci/dwc/Kconfig → drivers/pci/controller/dwc/Kconfig


+ 0 - 0
drivers/pci/dwc/Makefile → drivers/pci/controller/dwc/Makefile


+ 1 - 1
drivers/pci/dwc/pci-dra7xx.c → drivers/pci/controller/dwc/pci-dra7xx.c

@@ -27,7 +27,7 @@
 #include <linux/mfd/syscon.h>
 #include <linux/mfd/syscon.h>
 #include <linux/regmap.h>
 #include <linux/regmap.h>
 
 
-#include "../pci.h"
+#include "../../pci.h"
 #include "pcie-designware.h"
 #include "pcie-designware.h"
 
 
 /* PCIe controller wrapper DRA7XX configuration registers */
 /* PCIe controller wrapper DRA7XX configuration registers */

+ 0 - 0
drivers/pci/dwc/pci-exynos.c → drivers/pci/controller/dwc/pci-exynos.c


+ 0 - 0
drivers/pci/dwc/pci-imx6.c → drivers/pci/controller/dwc/pci-imx6.c


+ 0 - 0
drivers/pci/dwc/pci-keystone-dw.c → drivers/pci/controller/dwc/pci-keystone-dw.c


+ 0 - 0
drivers/pci/dwc/pci-keystone.c → drivers/pci/controller/dwc/pci-keystone.c


+ 0 - 0
drivers/pci/dwc/pci-keystone.h → drivers/pci/controller/dwc/pci-keystone.h


+ 0 - 0
drivers/pci/dwc/pci-layerscape.c → drivers/pci/controller/dwc/pci-layerscape.c


+ 0 - 0
drivers/pci/dwc/pcie-armada8k.c → drivers/pci/controller/dwc/pcie-armada8k.c


+ 0 - 0
drivers/pci/dwc/pcie-artpec6.c → drivers/pci/controller/dwc/pcie-artpec6.c


+ 0 - 0
drivers/pci/dwc/pcie-designware-ep.c → drivers/pci/controller/dwc/pcie-designware-ep.c


+ 1 - 1
drivers/pci/dwc/pcie-designware-host.c → drivers/pci/controller/dwc/pcie-designware-host.c

@@ -15,7 +15,7 @@
 #include <linux/pci_regs.h>
 #include <linux/pci_regs.h>
 #include <linux/platform_device.h>
 #include <linux/platform_device.h>
 
 
-#include "../pci.h"
+#include "../../pci.h"
 #include "pcie-designware.h"
 #include "pcie-designware.h"
 
 
 static struct pci_ops dw_pcie_ops;
 static struct pci_ops dw_pcie_ops;

+ 0 - 0
drivers/pci/dwc/pcie-designware-plat.c → drivers/pci/controller/dwc/pcie-designware-plat.c


+ 0 - 0
drivers/pci/dwc/pcie-designware.c → drivers/pci/controller/dwc/pcie-designware.c


+ 0 - 0
drivers/pci/dwc/pcie-designware.h → drivers/pci/controller/dwc/pcie-designware.h


+ 1 - 1
drivers/pci/dwc/pcie-hisi.c → drivers/pci/controller/dwc/pcie-hisi.c

@@ -19,7 +19,7 @@
 #include <linux/pci-acpi.h>
 #include <linux/pci-acpi.h>
 #include <linux/pci-ecam.h>
 #include <linux/pci-ecam.h>
 #include <linux/regmap.h>
 #include <linux/regmap.h>
-#include "../pci.h"
+#include "../../pci.h"
 
 
 #if defined(CONFIG_PCI_HISI) || (defined(CONFIG_ACPI) && defined(CONFIG_PCI_QUIRKS))
 #if defined(CONFIG_PCI_HISI) || (defined(CONFIG_ACPI) && defined(CONFIG_PCI_QUIRKS))
 
 

+ 0 - 0
drivers/pci/dwc/pcie-histb.c → drivers/pci/controller/dwc/pcie-histb.c


+ 0 - 0
drivers/pci/dwc/pcie-kirin.c → drivers/pci/controller/dwc/pcie-kirin.c


+ 0 - 0
drivers/pci/dwc/pcie-qcom.c → drivers/pci/controller/dwc/pcie-qcom.c


+ 0 - 0
drivers/pci/dwc/pcie-spear13xx.c → drivers/pci/controller/dwc/pcie-spear13xx.c


+ 0 - 0
drivers/pci/host/pci-aardvark.c → drivers/pci/controller/pci-aardvark.c


+ 0 - 0
drivers/pci/host/pci-ftpci100.c → drivers/pci/controller/pci-ftpci100.c


+ 0 - 0
drivers/pci/host/pci-host-common.c → drivers/pci/controller/pci-host-common.c


+ 0 - 0
drivers/pci/host/pci-host-generic.c → drivers/pci/controller/pci-host-generic.c


+ 0 - 0
drivers/pci/host/pci-hyperv.c → drivers/pci/controller/pci-hyperv.c


+ 0 - 0
drivers/pci/host/pci-mvebu.c → drivers/pci/controller/pci-mvebu.c


+ 0 - 0
drivers/pci/host/pci-rcar-gen2.c → drivers/pci/controller/pci-rcar-gen2.c


+ 0 - 0
drivers/pci/host/pci-tegra.c → drivers/pci/controller/pci-tegra.c


+ 0 - 0
drivers/pci/host/pci-thunder-ecam.c → drivers/pci/controller/pci-thunder-ecam.c


+ 0 - 0
drivers/pci/host/pci-thunder-pem.c → drivers/pci/controller/pci-thunder-pem.c


+ 0 - 0
drivers/pci/host/pci-v3-semi.c → drivers/pci/controller/pci-v3-semi.c


+ 0 - 0
drivers/pci/host/pci-versatile.c → drivers/pci/controller/pci-versatile.c


+ 0 - 0
drivers/pci/host/pci-xgene-msi.c → drivers/pci/controller/pci-xgene-msi.c


+ 0 - 0
drivers/pci/host/pci-xgene.c → drivers/pci/controller/pci-xgene.c


+ 0 - 0
drivers/pci/host/pcie-altera-msi.c → drivers/pci/controller/pcie-altera-msi.c


+ 0 - 0
drivers/pci/host/pcie-altera.c → drivers/pci/controller/pcie-altera.c


+ 0 - 0
drivers/pci/cadence/pcie-cadence-ep.c → drivers/pci/controller/pcie-cadence-ep.c


+ 0 - 0
drivers/pci/cadence/pcie-cadence-host.c → drivers/pci/controller/pcie-cadence-host.c


+ 0 - 0
drivers/pci/cadence/pcie-cadence.c → drivers/pci/controller/pcie-cadence.c


+ 0 - 0
drivers/pci/cadence/pcie-cadence.h → drivers/pci/controller/pcie-cadence.h


+ 0 - 0
drivers/pci/host/pcie-iproc-bcma.c → drivers/pci/controller/pcie-iproc-bcma.c


+ 0 - 0
drivers/pci/host/pcie-iproc-msi.c → drivers/pci/controller/pcie-iproc-msi.c


+ 0 - 0
drivers/pci/host/pcie-iproc-platform.c → drivers/pci/controller/pcie-iproc-platform.c


+ 0 - 0
drivers/pci/host/pcie-iproc.c → drivers/pci/controller/pcie-iproc.c


+ 0 - 0
drivers/pci/host/pcie-iproc.h → drivers/pci/controller/pcie-iproc.h


+ 0 - 0
drivers/pci/host/pcie-mediatek.c → drivers/pci/controller/pcie-mediatek.c


+ 0 - 0
drivers/pci/host/pcie-mobiveil.c → drivers/pci/controller/pcie-mobiveil.c


+ 0 - 0
drivers/pci/host/pcie-rcar.c → drivers/pci/controller/pcie-rcar.c


+ 0 - 0
drivers/pci/host/pcie-rockchip-ep.c → drivers/pci/controller/pcie-rockchip-ep.c


+ 0 - 0
drivers/pci/host/pcie-rockchip-host.c → drivers/pci/controller/pcie-rockchip-host.c


+ 0 - 0
drivers/pci/host/pcie-rockchip.c → drivers/pci/controller/pcie-rockchip.c


+ 0 - 0
drivers/pci/host/pcie-rockchip.h → drivers/pci/controller/pcie-rockchip.h


+ 0 - 0
drivers/pci/host/pcie-tango.c → drivers/pci/controller/pcie-tango.c


+ 0 - 0
drivers/pci/host/pcie-xilinx-nwl.c → drivers/pci/controller/pcie-xilinx-nwl.c


+ 0 - 0
drivers/pci/host/pcie-xilinx.c → drivers/pci/controller/pcie-xilinx.c


+ 0 - 0
drivers/pci/host/vmd.c → drivers/pci/controller/vmd.c