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

From: Kishon Vijay Abraham I
Date: Mon Feb 06 2017 - 07:29:32 EST




On Saturday 04 February 2017 12:49 AM, Bjorn Helgaas wrote:
> 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!

Thanks Bjorn!
>
>> ---
>> 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
>>