Re: [PATCH v5] PCI: add a new directory for designware core

From: Bjorn Helgaas
Date: Fri Feb 03 2017 - 14:19:25 EST


On Fri, Jan 06, 2017 at 06:22:48PM +0530, Kishon Vijay Abraham I wrote:
> Group all the PCI drivers that use designware core in dwc directory.
> dwc IP is capable of operating in both host mode and device mode and
> keeping it inside the *host* directory is misleading.
>
> Cc: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx>
> Cc: Minghuan Lian <minghuan.Lian@xxxxxxxxxxxxx>
> Cc: Mingkai Hu <mingkai.hu@xxxxxxxxxxxxx>
> Cc: Roy Zang <tie-fei.zang@xxxxxxxxxxxxx>
> Cc: Richard Zhu <hongxing.zhu@xxxxxxx>
> Cc: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
> Cc: Murali Karicheri <m-karicheri2@xxxxxx>
> Cc: Jingoo Han <jingoohan1@xxxxxxxxx>
> Cc: Joao Pinto <Joao.Pinto@xxxxxxxxxxxx>
> Cc: Pratyush Anand <pratyush.anand@xxxxxxxxx>
> Cc: Niklas Cassel <niklas.cassel@xxxxxxxx>
> Cc: Jesper Nilsson <jesper.nilsson@xxxxxxxx>
> Cc: Zhou Wang <wangzhou1@xxxxxxxxxxxxx>
> Cc: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx>
> Cc: Stanimir Varbanov <svarbanov@xxxxxxxxxx>
> Acked-by: Jingoo Han <jingoohan1@xxxxxxxxx>
> Acked-By: Joao Pinto <jpinto@xxxxxxxxxxxx>
> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx>

I applied this to pci/host-designware. I might have to do some
fiddling when merging everything together, but I intend to include
this for v4.11. Thanks for your patience, Kishon!

> ---
> Changes from v4:
> *) modified Kconfig such that the user doesn't have to explicity
> select PCIE_DW.
>
> Changes from v3:
> *) Moved pci-keystone.h to dwc directory which was missed earlier
>
> Changes from v2:
> *) update MAINTAINERS file
>
> Changes from v1:
> *) instead of renaming *host* directory to *controller* directory,
> move all the dwc drivers to dwc/ directory.
> Next Steps:
> Split pcie-designware.c to core, host-only and endpoint-only files.
>
> MAINTAINERS | 22 ++--
> drivers/pci/Kconfig | 1 +
> drivers/pci/Makefile | 3 +
> drivers/pci/dwc/Kconfig | 117 ++++++++++++++++++++++
> drivers/pci/dwc/Makefile | 23 +++++
> drivers/pci/{host => dwc}/pci-dra7xx.c | 0
> drivers/pci/{host => dwc}/pci-exynos.c | 0
> drivers/pci/{host => dwc}/pci-imx6.c | 0
> drivers/pci/{host => dwc}/pci-keystone-dw.c | 0
> drivers/pci/{host => dwc}/pci-keystone.c | 0
> drivers/pci/{host => dwc}/pci-keystone.h | 0
> drivers/pci/{host => dwc}/pci-layerscape.c | 0
> drivers/pci/{host => dwc}/pcie-armada8k.c | 0
> drivers/pci/{host => dwc}/pcie-artpec6.c | 0
> drivers/pci/{host => dwc}/pcie-designware-plat.c | 0
> drivers/pci/{host => dwc}/pcie-designware.c | 0
> drivers/pci/{host => dwc}/pcie-designware.h | 0
> drivers/pci/{host => dwc}/pcie-hisi.c | 0
> drivers/pci/{host => dwc}/pcie-qcom.c | 0
> drivers/pci/{host => dwc}/pcie-spear13xx.c | 0
> drivers/pci/host/Kconfig | 113 ---------------------
> drivers/pci/host/Makefile | 12 ---
> 22 files changed, 155 insertions(+), 136 deletions(-)
> create mode 100644 drivers/pci/dwc/Kconfig
> create mode 100644 drivers/pci/dwc/Makefile
> rename drivers/pci/{host => dwc}/pci-dra7xx.c (100%)
> rename drivers/pci/{host => dwc}/pci-exynos.c (100%)
> rename drivers/pci/{host => dwc}/pci-imx6.c (100%)
> rename drivers/pci/{host => dwc}/pci-keystone-dw.c (100%)
> rename drivers/pci/{host => dwc}/pci-keystone.c (100%)
> rename drivers/pci/{host => dwc}/pci-keystone.h (100%)
> rename drivers/pci/{host => dwc}/pci-layerscape.c (100%)
> rename drivers/pci/{host => dwc}/pcie-armada8k.c (100%)
> rename drivers/pci/{host => dwc}/pcie-artpec6.c (100%)
> rename drivers/pci/{host => dwc}/pcie-designware-plat.c (100%)
> rename drivers/pci/{host => dwc}/pcie-designware.c (100%)
> rename drivers/pci/{host => dwc}/pcie-designware.h (100%)
> rename drivers/pci/{host => dwc}/pcie-hisi.c (100%)
> rename drivers/pci/{host => dwc}/pcie-qcom.c (100%)
> rename drivers/pci/{host => dwc}/pcie-spear13xx.c (100%)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index cfff2c9..8672f18 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -9429,7 +9429,7 @@ L: linux-pci@xxxxxxxxxxxxxxx
> L: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> S: Maintained
> F: Documentation/devicetree/bindings/pci/pci-armada8k.txt
> -F: drivers/pci/host/pcie-armada8k.c
> +F: drivers/pci/dwc/pcie-armada8k.c
>
> PCI DRIVER FOR APPLIEDMICRO XGENE
> M: Tanmay Inamdar <tinamdar@xxxxxxx>
> @@ -9447,7 +9447,7 @@ L: linuxppc-dev@xxxxxxxxxxxxxxxx
> L: linux-pci@xxxxxxxxxxxxxxx
> L: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> S: Maintained
> -F: drivers/pci/host/*layerscape*
> +F: drivers/pci/dwc/*layerscape*
>
> PCI DRIVER FOR IMX6
> M: Richard Zhu <hongxing.zhu@xxxxxxx>
> @@ -9456,14 +9456,14 @@ L: linux-pci@xxxxxxxxxxxxxxx
> L: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx (moderated for non-subscribers)
> S: Maintained
> F: Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
> -F: drivers/pci/host/*imx6*
> +F: drivers/pci/dwc/*imx6*
>
> PCI DRIVER FOR TI KEYSTONE
> M: Murali Karicheri <m-karicheri2@xxxxxx>
> L: linux-pci@xxxxxxxxxxxxxxx
> L: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx (moderated for non-subscribers)
> S: Maintained
> -F: drivers/pci/host/*keystone*
> +F: drivers/pci/dwc/*keystone*
>
> PCI DRIVER FOR MVEBU (Marvell Armada 370 and Armada XP SOC support)
> M: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx>
> @@ -9495,7 +9495,7 @@ L: linux-omap@xxxxxxxxxxxxxxx
> L: linux-pci@xxxxxxxxxxxxxxx
> S: Supported
> F: Documentation/devicetree/bindings/pci/ti-pci.txt
> -F: drivers/pci/host/pci-dra7xx.c
> +F: drivers/pci/dwc/pci-dra7xx.c
>
> PCI DRIVER FOR RENESAS R-CAR
> M: Simon Horman <horms@xxxxxxxxxxxx>
> @@ -9510,7 +9510,7 @@ L: linux-pci@xxxxxxxxxxxxxxx
> L: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx (moderated for non-subscribers)
> L: linux-samsung-soc@xxxxxxxxxxxxxxx (moderated for non-subscribers)
> S: Maintained
> -F: drivers/pci/host/pci-exynos.c
> +F: drivers/pci/dwc/pci-exynos.c
>
> PCI DRIVER FOR SYNOPSIS DESIGNWARE
> M: Jingoo Han <jingoohan1@xxxxxxxxx>
> @@ -9518,7 +9518,7 @@ M: Joao Pinto <Joao.Pinto@xxxxxxxxxxxx>
> L: linux-pci@xxxxxxxxxxxxxxx
> S: Maintained
> F: Documentation/devicetree/bindings/pci/designware-pcie.txt
> -F: drivers/pci/host/*designware*
> +F: drivers/pci/dwc/*designware*
>
> PCI DRIVER FOR GENERIC OF HOSTS
> M: Will Deacon <will.deacon@xxxxxxx>
> @@ -9539,7 +9539,7 @@ PCIE DRIVER FOR ST SPEAR13XX
> M: Pratyush Anand <pratyush.anand@xxxxxxxxx>
> L: linux-pci@xxxxxxxxxxxxxxx
> S: Maintained
> -F: drivers/pci/host/*spear*
> +F: drivers/pci/dwc/*spear*
>
> PCI MSI DRIVER FOR ALTERA MSI IP
> M: Ley Foon Tan <lftan@xxxxxxxxxx>
> @@ -9564,7 +9564,7 @@ L: linux-arm-kernel@xxxxxxxx
> L: linux-pci@xxxxxxxxxxxxxxx
> S: Maintained
> F: Documentation/devicetree/bindings/pci/axis,artpec*
> -F: drivers/pci/host/*artpec*
> +F: drivers/pci/dwc/*artpec*
>
> PCIE DRIVER FOR HISILICON
> M: Zhou Wang <wangzhou1@xxxxxxxxxxxxx>
> @@ -9572,7 +9572,7 @@ M: Gabriele Paoloni <gabriele.paoloni@xxxxxxxxxx>
> L: linux-pci@xxxxxxxxxxxxxxx
> S: Maintained
> F: Documentation/devicetree/bindings/pci/hisilicon-pcie.txt
> -F: drivers/pci/host/pcie-hisi.c
> +F: drivers/pci/dwc/pcie-hisi.c
>
> PCIE DRIVER FOR ROCKCHIP
> M: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx>
> @@ -9588,7 +9588,7 @@ M: Stanimir Varbanov <svarbanov@xxxxxxxxxx>
> L: linux-pci@xxxxxxxxxxxxxxx
> L: linux-arm-msm@xxxxxxxxxxxxxxx
> S: Maintained
> -F: drivers/pci/host/*qcom*
> +F: drivers/pci/dwc/*qcom*
>
> PCIE DRIVER FOR CAVIUM THUNDERX
> M: David Daney <david.daney@xxxxxxxxxx>
> diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
> index 6555eb7..df14142 100644
> --- a/drivers/pci/Kconfig
> +++ b/drivers/pci/Kconfig
> @@ -132,4 +132,5 @@ config PCI_HYPERV
> PCI devices from a PCI backend to support PCI driver domains.
>
> source "drivers/pci/hotplug/Kconfig"
> +source "drivers/pci/dwc/Kconfig"
> source "drivers/pci/host/Kconfig"
> diff --git a/drivers/pci/Makefile b/drivers/pci/Makefile
> index 8db5079..b7e9751 100644
> --- a/drivers/pci/Makefile
> +++ b/drivers/pci/Makefile
> @@ -66,5 +66,8 @@ obj-$(CONFIG_OF) += of.o
>
> ccflags-$(CONFIG_PCI_DEBUG) := -DDEBUG
>
> +# PCI dwc controller drivers
> +obj-y += dwc/
> +
> # PCI host controller drivers
> obj-y += host/
> diff --git a/drivers/pci/dwc/Kconfig b/drivers/pci/dwc/Kconfig
> new file mode 100644
> index 0000000..deae261
> --- /dev/null
> +++ b/drivers/pci/dwc/Kconfig
> @@ -0,0 +1,117 @@
> +menu "DesignWare PCI Core Support"
> + depends on PCI
> +
> +config PCIE_DW
> + bool
> + depends on PCI_MSI_IRQ_DOMAIN
> +
> +config PCI_DRA7XX
> + bool "TI DRA7xx PCIe controller"
> + depends on OF && HAS_IOMEM && TI_PIPE3
> + depends on PCI_MSI_IRQ_DOMAIN
> + select PCIE_DW
> + help
> + Enables support for the PCIe controller in the DRA7xx SoC. There
> + are two instances of PCIe controller in DRA7xx. This controller can
> + act both as EP and RC. This reuses the Designware core.
> +
> +config PCIE_DW_PLAT
> + bool "Platform bus based DesignWare PCIe Controller"
> + depends on PCI_MSI_IRQ_DOMAIN
> + select PCIE_DW
> + ---help---
> + This selects the DesignWare PCIe controller support. Select this if
> + you have a PCIe controller on Platform bus.
> +
> + If you have a controller with this interface, say Y or M here.
> +
> + If unsure, say N.
> +
> +config PCI_EXYNOS
> + bool "Samsung Exynos PCIe controller"
> + depends on SOC_EXYNOS5440
> + depends on PCI_MSI_IRQ_DOMAIN
> + select PCIEPORTBUS
> + select PCIE_DW
> +
> +config PCI_IMX6
> + bool "Freescale i.MX6 PCIe controller"
> + depends on SOC_IMX6Q
> + depends on PCI_MSI_IRQ_DOMAIN
> + select PCIEPORTBUS
> + select PCIE_DW
> +
> +config PCIE_SPEAR13XX
> + bool "STMicroelectronics SPEAr PCIe controller"
> + depends on ARCH_SPEAR13XX
> + depends on PCI_MSI_IRQ_DOMAIN
> + select PCIEPORTBUS
> + select PCIE_DW
> + help
> + Say Y here if you want PCIe support on SPEAr13XX SoCs.
> +
> +config PCI_KEYSTONE
> + bool "TI Keystone PCIe controller"
> + depends on ARCH_KEYSTONE
> + depends on PCI_MSI_IRQ_DOMAIN
> + select PCIEPORTBUS
> + select PCIE_DW
> + help
> + Say Y here if you want to enable PCI controller support on Keystone
> + SoCs. The PCI controller on Keystone is based on Designware hardware
> + and therefore the driver re-uses the Designware core functions to
> + implement the driver.
> +
> +config PCI_LAYERSCAPE
> + bool "Freescale Layerscape PCIe controller"
> + depends on OF && (ARM || ARCH_LAYERSCAPE)
> + depends on PCI_MSI_IRQ_DOMAIN
> + select MFD_SYSCON
> + select PCIE_DW
> + help
> + Say Y here if you want PCIe controller support on Layerscape SoCs.
> +
> +config PCI_HISI
> + depends on OF && ARM64
> + bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
> + depends on PCI_MSI_IRQ_DOMAIN
> + select PCIEPORTBUS
> + select PCIE_DW
> + help
> + Say Y here if you want PCIe controller support on HiSilicon
> + Hip05 and Hip06 SoCs
> +
> +config PCIE_QCOM
> + bool "Qualcomm PCIe controller"
> + depends on ARCH_QCOM && OF
> + depends on PCI_MSI_IRQ_DOMAIN
> + select PCIEPORTBUS
> + select PCIE_DW
> + help
> + Say Y here to enable PCIe controller support on Qualcomm SoCs. The
> + PCIe controller uses the Designware core plus Qualcomm-specific
> + hardware wrappers.
> +
> +config PCIE_ARMADA_8K
> + bool "Marvell Armada-8K PCIe controller"
> + depends on ARCH_MVEBU
> + depends on PCI_MSI_IRQ_DOMAIN
> + select PCIEPORTBUS
> + select PCIE_DW
> + help
> + Say Y here if you want to enable PCIe controller support on
> + Armada-8K SoCs. The PCIe controller on Armada-8K is based on
> + Designware hardware and therefore the driver re-uses the
> + Designware core functions to implement the driver.
> +
> +config PCIE_ARTPEC6
> + bool "Axis ARTPEC-6 PCIe controller"
> + depends on MACH_ARTPEC6
> + depends on PCI_MSI_IRQ_DOMAIN
> + select PCIEPORTBUS
> + select PCIE_DW
> + help
> + Say Y here to enable PCIe controller support on Axis ARTPEC-6
> + SoCs. This PCIe controller uses the DesignWare core.
> +
> +endmenu
> diff --git a/drivers/pci/dwc/Makefile b/drivers/pci/dwc/Makefile
> new file mode 100644
> index 0000000..7d27c14
> --- /dev/null
> +++ b/drivers/pci/dwc/Makefile
> @@ -0,0 +1,23 @@
> +obj-$(CONFIG_PCIE_DW) += pcie-designware.o
> +obj-$(CONFIG_PCIE_DW_PLAT) += pcie-designware-plat.o
> +obj-$(CONFIG_PCI_DRA7XX) += pci-dra7xx.o
> +obj-$(CONFIG_PCI_EXYNOS) += pci-exynos.o
> +obj-$(CONFIG_PCI_IMX6) += pci-imx6.o
> +obj-$(CONFIG_PCIE_SPEAR13XX) += pcie-spear13xx.o
> +obj-$(CONFIG_PCI_KEYSTONE) += pci-keystone-dw.o pci-keystone.o
> +obj-$(CONFIG_PCI_LAYERSCAPE) += pci-layerscape.o
> +obj-$(CONFIG_PCIE_QCOM) += pcie-qcom.o
> +obj-$(CONFIG_PCIE_ARMADA_8K) += pcie-armada8k.o
> +obj-$(CONFIG_PCIE_ARTPEC6) += pcie-artpec6.o
> +
> +# The following drivers are for devices that use the generic ACPI
> +# pci_root.c driver but don't support standard ECAM config access.
> +# They contain MCFG quirks to replace the generic ECAM accessors with
> +# device-specific ones that are shared with the DT driver.
> +
> +# The ACPI driver is generic and should not require driver-specific
> +# config options to be enabled, so we always build these drivers on
> +# ARM64 and use internal ifdefs to only build the pieces we need
> +# depending on whether ACPI, the DT driver, or both are enabled.
> +
> +obj-$(CONFIG_ARM64) += pcie-hisi.o
> diff --git a/drivers/pci/host/pci-dra7xx.c b/drivers/pci/dwc/pci-dra7xx.c
> similarity index 100%
> rename from drivers/pci/host/pci-dra7xx.c
> rename to drivers/pci/dwc/pci-dra7xx.c
> diff --git a/drivers/pci/host/pci-exynos.c b/drivers/pci/dwc/pci-exynos.c
> similarity index 100%
> rename from drivers/pci/host/pci-exynos.c
> rename to drivers/pci/dwc/pci-exynos.c
> diff --git a/drivers/pci/host/pci-imx6.c b/drivers/pci/dwc/pci-imx6.c
> similarity index 100%
> rename from drivers/pci/host/pci-imx6.c
> rename to drivers/pci/dwc/pci-imx6.c
> diff --git a/drivers/pci/host/pci-keystone-dw.c b/drivers/pci/dwc/pci-keystone-dw.c
> similarity index 100%
> rename from drivers/pci/host/pci-keystone-dw.c
> rename to drivers/pci/dwc/pci-keystone-dw.c
> diff --git a/drivers/pci/host/pci-keystone.c b/drivers/pci/dwc/pci-keystone.c
> similarity index 100%
> rename from drivers/pci/host/pci-keystone.c
> rename to drivers/pci/dwc/pci-keystone.c
> diff --git a/drivers/pci/host/pci-keystone.h b/drivers/pci/dwc/pci-keystone.h
> similarity index 100%
> rename from drivers/pci/host/pci-keystone.h
> rename to drivers/pci/dwc/pci-keystone.h
> diff --git a/drivers/pci/host/pci-layerscape.c b/drivers/pci/dwc/pci-layerscape.c
> similarity index 100%
> rename from drivers/pci/host/pci-layerscape.c
> rename to drivers/pci/dwc/pci-layerscape.c
> diff --git a/drivers/pci/host/pcie-armada8k.c b/drivers/pci/dwc/pcie-armada8k.c
> similarity index 100%
> rename from drivers/pci/host/pcie-armada8k.c
> rename to drivers/pci/dwc/pcie-armada8k.c
> diff --git a/drivers/pci/host/pcie-artpec6.c b/drivers/pci/dwc/pcie-artpec6.c
> similarity index 100%
> rename from drivers/pci/host/pcie-artpec6.c
> rename to drivers/pci/dwc/pcie-artpec6.c
> diff --git a/drivers/pci/host/pcie-designware-plat.c b/drivers/pci/dwc/pcie-designware-plat.c
> similarity index 100%
> rename from drivers/pci/host/pcie-designware-plat.c
> rename to drivers/pci/dwc/pcie-designware-plat.c
> diff --git a/drivers/pci/host/pcie-designware.c b/drivers/pci/dwc/pcie-designware.c
> similarity index 100%
> rename from drivers/pci/host/pcie-designware.c
> rename to drivers/pci/dwc/pcie-designware.c
> diff --git a/drivers/pci/host/pcie-designware.h b/drivers/pci/dwc/pcie-designware.h
> similarity index 100%
> rename from drivers/pci/host/pcie-designware.h
> rename to drivers/pci/dwc/pcie-designware.h
> diff --git a/drivers/pci/host/pcie-hisi.c b/drivers/pci/dwc/pcie-hisi.c
> similarity index 100%
> rename from drivers/pci/host/pcie-hisi.c
> rename to drivers/pci/dwc/pcie-hisi.c
> diff --git a/drivers/pci/host/pcie-qcom.c b/drivers/pci/dwc/pcie-qcom.c
> similarity index 100%
> rename from drivers/pci/host/pcie-qcom.c
> rename to drivers/pci/dwc/pcie-qcom.c
> diff --git a/drivers/pci/host/pcie-spear13xx.c b/drivers/pci/dwc/pcie-spear13xx.c
> similarity index 100%
> rename from drivers/pci/host/pcie-spear13xx.c
> rename to drivers/pci/dwc/pcie-spear13xx.c
> diff --git a/drivers/pci/host/Kconfig b/drivers/pci/host/Kconfig
> index 898d2c4..f7c1d4d 100644
> --- a/drivers/pci/host/Kconfig
> +++ b/drivers/pci/host/Kconfig
> @@ -1,16 +1,6 @@
> menu "PCI host controller drivers"
> depends on PCI
>
> -config PCI_DRA7XX
> - bool "TI DRA7xx PCIe controller"
> - depends on OF && HAS_IOMEM && TI_PIPE3
> - depends on PCI_MSI_IRQ_DOMAIN
> - select PCIE_DW
> - help
> - Enables support for the PCIe controller in the DRA7xx SoC. There
> - are two instances of PCIe controller in DRA7xx. This controller can
> - act both as EP and RC. This reuses the Designware core.
> -
> config PCI_MVEBU
> bool "Marvell EBU PCIe controller"
> depends on ARCH_MVEBU || ARCH_DOVE
> @@ -37,36 +27,6 @@ config PCIE_XILINX_NWL
> or End Point. The current option selection will only
> support root port enabling.
>
> -config PCIE_DW_PLAT
> - bool "Platform bus based DesignWare PCIe Controller"
> - depends on PCI_MSI_IRQ_DOMAIN
> - select PCIE_DW
> - ---help---
> - This selects the DesignWare PCIe controller support. Select this if
> - you have a PCIe controller on Platform bus.
> -
> - If you have a controller with this interface, say Y or M here.
> -
> - If unsure, say N.
> -
> -config PCIE_DW
> - bool
> - depends on PCI_MSI_IRQ_DOMAIN
> -
> -config PCI_EXYNOS
> - bool "Samsung Exynos PCIe controller"
> - depends on SOC_EXYNOS5440
> - depends on PCI_MSI_IRQ_DOMAIN
> - select PCIEPORTBUS
> - select PCIE_DW
> -
> -config PCI_IMX6
> - bool "Freescale i.MX6 PCIe controller"
> - depends on SOC_IMX6Q
> - depends on PCI_MSI_IRQ_DOMAIN
> - select PCIEPORTBUS
> - select PCIE_DW
> -
> config PCI_TEGRA
> bool "NVIDIA Tegra PCIe controller"
> depends on ARCH_TEGRA
> @@ -103,27 +63,6 @@ config PCI_HOST_GENERIC
> Say Y here if you want to support a simple generic PCI host
> controller, such as the one emulated by kvmtool.
>
> -config PCIE_SPEAR13XX
> - bool "STMicroelectronics SPEAr PCIe controller"
> - depends on ARCH_SPEAR13XX
> - depends on PCI_MSI_IRQ_DOMAIN
> - select PCIEPORTBUS
> - select PCIE_DW
> - help
> - Say Y here if you want PCIe support on SPEAr13XX SoCs.
> -
> -config PCI_KEYSTONE
> - bool "TI Keystone PCIe controller"
> - depends on ARCH_KEYSTONE
> - depends on PCI_MSI_IRQ_DOMAIN
> - select PCIE_DW
> - select PCIEPORTBUS
> - help
> - Say Y here if you want to enable PCI controller support on Keystone
> - SoCs. The PCI controller on Keystone is based on Designware hardware
> - and therefore the driver re-uses the Designware core functions to
> - implement the driver.
> -
> config PCIE_XILINX
> bool "Xilinx AXI PCIe host bridge support"
> depends on ARCH_ZYNQ || MICROBLAZE
> @@ -150,15 +89,6 @@ config PCI_XGENE_MSI
> Say Y here if you want PCIe MSI support for the APM X-Gene v1 SoC.
> This MSI driver supports 5 PCIe ports on the APM X-Gene v1 SoC.
>
> -config PCI_LAYERSCAPE
> - bool "Freescale Layerscape PCIe controller"
> - depends on OF && (ARM || ARCH_LAYERSCAPE)
> - depends on PCI_MSI_IRQ_DOMAIN
> - select PCIE_DW
> - select MFD_SYSCON
> - help
> - Say Y here if you want PCIe controller support on Layerscape SoCs.
> -
> config PCI_VERSATILE
> bool "ARM Versatile PB PCI controller"
> depends on ARCH_VERSATILE
> @@ -217,27 +147,6 @@ config PCIE_ALTERA_MSI
> Say Y here if you want PCIe MSI support for the Altera FPGA.
> This MSI driver supports Altera MSI to GIC controller IP.
>
> -config PCI_HISI
> - depends on OF && ARM64
> - bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
> - depends on PCI_MSI_IRQ_DOMAIN
> - select PCIEPORTBUS
> - select PCIE_DW
> - help
> - Say Y here if you want PCIe controller support on HiSilicon
> - Hip05 and Hip06 SoCs
> -
> -config PCIE_QCOM
> - bool "Qualcomm PCIe controller"
> - depends on ARCH_QCOM && OF
> - depends on PCI_MSI_IRQ_DOMAIN
> - select PCIE_DW
> - select PCIEPORTBUS
> - help
> - Say Y here to enable PCIe controller support on Qualcomm SoCs. The
> - PCIe controller uses the Designware core plus Qualcomm-specific
> - hardware wrappers.
> -
> config PCI_HOST_THUNDER_PEM
> bool "Cavium Thunder PCIe controller to off-chip devices"
> depends on ARM64
> @@ -254,28 +163,6 @@ config PCI_HOST_THUNDER_ECAM
> help
> Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs.
>
> -config PCIE_ARMADA_8K
> - bool "Marvell Armada-8K PCIe controller"
> - depends on ARCH_MVEBU
> - depends on PCI_MSI_IRQ_DOMAIN
> - select PCIE_DW
> - select PCIEPORTBUS
> - help
> - Say Y here if you want to enable PCIe controller support on
> - Armada-8K SoCs. The PCIe controller on Armada-8K is based on
> - Designware hardware and therefore the driver re-uses the
> - Designware core functions to implement the driver.
> -
> -config PCIE_ARTPEC6
> - bool "Axis ARTPEC-6 PCIe controller"
> - depends on MACH_ARTPEC6
> - depends on PCI_MSI_IRQ_DOMAIN
> - select PCIE_DW
> - select PCIEPORTBUS
> - help
> - Say Y here to enable PCIe controller support on Axis ARTPEC-6
> - SoCs. This PCIe controller uses the DesignWare core.
> -
> config PCIE_ROCKCHIP
> bool "Rockchip PCIe controller"
> depends on ARCH_ROCKCHIP || COMPILE_TEST
> diff --git a/drivers/pci/host/Makefile b/drivers/pci/host/Makefile
> index bfe3179..4d36866 100644
> --- a/drivers/pci/host/Makefile
> +++ b/drivers/pci/host/Makefile
> @@ -1,8 +1,3 @@
> -obj-$(CONFIG_PCIE_DW) += pcie-designware.o
> -obj-$(CONFIG_PCIE_DW_PLAT) += pcie-designware-plat.o
> -obj-$(CONFIG_PCI_DRA7XX) += pci-dra7xx.o
> -obj-$(CONFIG_PCI_EXYNOS) += pci-exynos.o
> -obj-$(CONFIG_PCI_IMX6) += pci-imx6.o
> obj-$(CONFIG_PCI_HYPERV) += pci-hyperv.o
> obj-$(CONFIG_PCI_MVEBU) += pci-mvebu.o
> obj-$(CONFIG_PCI_AARDVARK) += pci-aardvark.o
> @@ -11,12 +6,9 @@ obj-$(CONFIG_PCI_RCAR_GEN2) += pci-rcar-gen2.o
> obj-$(CONFIG_PCIE_RCAR) += pcie-rcar.o
> obj-$(CONFIG_PCI_HOST_COMMON) += pci-host-common.o
> obj-$(CONFIG_PCI_HOST_GENERIC) += pci-host-generic.o
> -obj-$(CONFIG_PCIE_SPEAR13XX) += pcie-spear13xx.o
> -obj-$(CONFIG_PCI_KEYSTONE) += pci-keystone-dw.o pci-keystone.o
> obj-$(CONFIG_PCIE_XILINX) += pcie-xilinx.o
> obj-$(CONFIG_PCIE_XILINX_NWL) += pcie-xilinx-nwl.o
> obj-$(CONFIG_PCI_XGENE_MSI) += pci-xgene-msi.o
> -obj-$(CONFIG_PCI_LAYERSCAPE) += pci-layerscape.o
> obj-$(CONFIG_PCI_VERSATILE) += pci-versatile.o
> obj-$(CONFIG_PCIE_IPROC) += pcie-iproc.o
> obj-$(CONFIG_PCIE_IPROC_MSI) += pcie-iproc-msi.o
> @@ -24,9 +16,6 @@ obj-$(CONFIG_PCIE_IPROC_PLATFORM) += pcie-iproc-platform.o
> obj-$(CONFIG_PCIE_IPROC_BCMA) += pcie-iproc-bcma.o
> obj-$(CONFIG_PCIE_ALTERA) += pcie-altera.o
> obj-$(CONFIG_PCIE_ALTERA_MSI) += pcie-altera-msi.o
> -obj-$(CONFIG_PCIE_QCOM) += pcie-qcom.o
> -obj-$(CONFIG_PCIE_ARMADA_8K) += pcie-armada8k.o
> -obj-$(CONFIG_PCIE_ARTPEC6) += pcie-artpec6.o
> obj-$(CONFIG_PCIE_ROCKCHIP) += pcie-rockchip.o
> obj-$(CONFIG_VMD) += vmd.o
>
> @@ -40,7 +29,6 @@ obj-$(CONFIG_VMD) += vmd.o
> # ARM64 and use internal ifdefs to only build the pieces we need
> # depending on whether ACPI, the DT driver, or both are enabled.
>
> -obj-$(CONFIG_ARM64) += pcie-hisi.o
> obj-$(CONFIG_ARM64) += pci-thunder-ecam.o
> obj-$(CONFIG_ARM64) += pci-thunder-pem.o
> obj-$(CONFIG_ARM64) += pci-xgene.o
> --
> 1.7.9.5
>