Message ID | 20211202110624.143028-1-ffclaire1224@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Bjorn Helgaas |
Headers | show |
Series | PCI: Improve compile-test coverage | expand |
On Thu, Dec 2, 2021 at 5:06 AM Fan Fei <ffclaire1224@gmail.com> wrote: > > Remove the "depends on OF" in Kconfig of PCI controllers. These drivers > depends on CONFIG_OF because they use interface in of.h file, e.g. > "of_match_ptr()". But these interface are defined as stub if CONFIG_OF is > not set. Thus we can compile them without CONFIG_OF, instead just with > COMPILE_TEST. > > Signed-off-by: Fan Fei <ffclaire1224@gmail.com> > --- > Hi, Bjorn, > > I just did as what you suggested, remove the "depends on OF" in Konfig, and > compile it. It seems to work well. On the thread > https://lore.kernel.org/all/20201005215817.GA3063223@bjorn-Precision-5520/ > mentioned by the task excel, there are some replacement of "of_match_ptr()", > but this function seems to be defined even CONFIG_OF is not set. Is it > correct to reply in this thread or shall I send it to mail list directly? > > Kind regards > Fan > > drivers/pci/controller/Kconfig | 24 ++++++------------------ > 1 file changed, 6 insertions(+), 18 deletions(-) > > diff --git a/drivers/pci/controller/Kconfig b/drivers/pci/controller/Kconfig > index 93b141110537..6e988420f900 100644 > --- a/drivers/pci/controller/Kconfig > +++ b/drivers/pci/controller/Kconfig > @@ -8,13 +8,11 @@ config PCI_MVEBU > depends on ARCH_MVEBU || ARCH_DOVE || COMPILE_TEST > depends on MVEBU_MBUS > depends on ARM > - depends on OF > select PCI_BRIDGE_EMUL > > config PCI_AARDVARK > tristate "Aardvark PCIe controller" > depends on (ARCH_MVEBU && ARM64) || COMPILE_TEST > - depends on OF > depends on PCI_MSI_IRQ_DOMAIN > select PCI_BRIDGE_EMUL > help > @@ -34,12 +32,11 @@ config PCIE_XILINX_NWL > > config PCI_FTPCI100 > bool "Faraday Technology FTPCI100 PCI controller" > - depends on OF > default ARCH_GEMINI > > config PCI_IXP4XX > bool "Intel IXP4xx PCI controller" > - depends on ARM && OF > + depends on ARM > depends on ARCH_IXP4XX || COMPILE_TEST > default ARCH_IXP4XX > help > @@ -85,7 +82,6 @@ config PCI_HOST_COMMON > > config PCI_HOST_GENERIC > tristate "Generic PCI host controller" > - depends on OF > select PCI_HOST_COMMON > select IRQ_DOMAIN > help > @@ -94,7 +90,7 @@ config PCI_HOST_GENERIC > > config PCIE_XILINX > bool "Xilinx AXI PCIe host bridge support" > - depends on OF || COMPILE_TEST > + depends on COMPILE_TEST > depends on PCI_MSI_IRQ_DOMAIN > help > Say 'Y' here if you want kernel to support the Xilinx AXI PCIe > @@ -111,7 +107,7 @@ config PCIE_XILINX_CPM > config PCI_XGENE > bool "X-Gene PCIe controller" > depends on ARM64 || COMPILE_TEST > - depends on OF || (ACPI && PCI_QUIRKS) > + depends on ACPI && PCI_QUIRKS This is wrong because now it will only build if ACPI && PCI_QUIRKS. Maybe that condition can be dropped too. > help > Say Y here if you want internal PCI support on APM X-Gene SoC. > There are 5 internal PCIe ports available. Each port is GEN3 capable > @@ -128,7 +124,6 @@ config PCI_XGENE_MSI > > config PCI_V3_SEMI > bool "V3 Semiconductor PCI controller" > - depends on OF > depends on ARM || COMPILE_TEST > default ARCH_INTEGRATOR_AP > > @@ -146,7 +141,6 @@ config PCIE_IPROC > config PCIE_IPROC_PLATFORM > tristate "Broadcom iProc PCIe platform bus driver" > depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST) > - depends on OF > select PCIE_IPROC > default ARCH_BCM_IPROC > help > @@ -190,7 +184,7 @@ config PCIE_ALTERA_MSI > config PCI_HOST_THUNDER_PEM > bool "Cavium Thunder PCIe controller to off-chip devices" > depends on ARM64 || COMPILE_TEST > - depends on OF || (ACPI && PCI_QUIRKS) > + depends on ACPI && PCI_QUIRKS Same here > select PCI_HOST_COMMON > help > Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs. > @@ -198,7 +192,7 @@ config PCI_HOST_THUNDER_PEM > config PCI_HOST_THUNDER_ECAM > bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon" > depends on ARM64 || COMPILE_TEST > - depends on OF || (ACPI && PCI_QUIRKS) > + depends on ACPI && PCI_QUIRKS And here. > select PCI_HOST_COMMON > help > Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs. > @@ -210,7 +204,6 @@ config PCIE_ROCKCHIP > config PCIE_ROCKCHIP_HOST > tristate "Rockchip PCIe host controller" > depends on ARCH_ROCKCHIP || COMPILE_TEST > - depends on OF > depends on PCI_MSI_IRQ_DOMAIN > select MFD_SYSCON > select PCIE_ROCKCHIP > @@ -222,7 +215,6 @@ config PCIE_ROCKCHIP_HOST > config PCIE_ROCKCHIP_EP > bool "Rockchip PCIe endpoint controller" > depends on ARCH_ROCKCHIP || COMPILE_TEST > - depends on OF > depends on PCI_ENDPOINT > select MFD_SYSCON > select PCIE_ROCKCHIP > @@ -234,7 +226,6 @@ config PCIE_ROCKCHIP_EP > config PCIE_MEDIATEK > tristate "MediaTek PCIe controller" > depends on ARCH_MEDIATEK || COMPILE_TEST > - depends on OF > depends on PCI_MSI_IRQ_DOMAIN > help > Say Y here if you want to enable PCIe controller support on > @@ -272,7 +263,6 @@ config PCIE_BRCMSTB > tristate "Broadcom Brcmstb PCIe host controller" > depends on ARCH_BRCMSTB || ARCH_BCM2835 || ARCH_BCM4908 || \ > BMIPS_GENERIC || COMPILE_TEST > - depends on OF > depends on PCI_MSI_IRQ_DOMAIN > default ARCH_BRCMSTB > help > @@ -289,7 +279,6 @@ config PCI_HYPERV_INTERFACE > config PCI_LOONGSON > bool "LOONGSON PCI Controller" > depends on MACH_LOONGSON64 || COMPILE_TEST > - depends on OF > depends on PCI_QUIRKS > default MACH_LOONGSON64 > help > @@ -298,7 +287,7 @@ config PCI_LOONGSON > > config PCIE_MICROCHIP_HOST > bool "Microchip AXI PCIe host bridge support" > - depends on PCI_MSI && OF > + depends on PCI_MSI > select PCI_MSI_IRQ_DOMAIN > select GENERIC_MSI_IRQ_DOMAIN > select PCI_HOST_COMMON > @@ -321,7 +310,6 @@ config PCIE_APPLE_MSI_DOORBELL_ADDR > config PCIE_APPLE > tristate "Apple PCIe controller" > depends on ARCH_APPLE || COMPILE_TEST > - depends on OF > depends on PCI_MSI_IRQ_DOMAIN > select PCI_HOST_COMMON > help > -- > 2.25.1 >
diff --git a/drivers/pci/controller/Kconfig b/drivers/pci/controller/Kconfig index 93b141110537..6e988420f900 100644 --- a/drivers/pci/controller/Kconfig +++ b/drivers/pci/controller/Kconfig @@ -8,13 +8,11 @@ config PCI_MVEBU depends on ARCH_MVEBU || ARCH_DOVE || COMPILE_TEST depends on MVEBU_MBUS depends on ARM - depends on OF select PCI_BRIDGE_EMUL config PCI_AARDVARK tristate "Aardvark PCIe controller" depends on (ARCH_MVEBU && ARM64) || COMPILE_TEST - depends on OF depends on PCI_MSI_IRQ_DOMAIN select PCI_BRIDGE_EMUL help @@ -34,12 +32,11 @@ config PCIE_XILINX_NWL config PCI_FTPCI100 bool "Faraday Technology FTPCI100 PCI controller" - depends on OF default ARCH_GEMINI config PCI_IXP4XX bool "Intel IXP4xx PCI controller" - depends on ARM && OF + depends on ARM depends on ARCH_IXP4XX || COMPILE_TEST default ARCH_IXP4XX help @@ -85,7 +82,6 @@ config PCI_HOST_COMMON config PCI_HOST_GENERIC tristate "Generic PCI host controller" - depends on OF select PCI_HOST_COMMON select IRQ_DOMAIN help @@ -94,7 +90,7 @@ config PCI_HOST_GENERIC config PCIE_XILINX bool "Xilinx AXI PCIe host bridge support" - depends on OF || COMPILE_TEST + depends on COMPILE_TEST depends on PCI_MSI_IRQ_DOMAIN help Say 'Y' here if you want kernel to support the Xilinx AXI PCIe @@ -111,7 +107,7 @@ config PCIE_XILINX_CPM config PCI_XGENE bool "X-Gene PCIe controller" depends on ARM64 || COMPILE_TEST - depends on OF || (ACPI && PCI_QUIRKS) + depends on ACPI && PCI_QUIRKS help Say Y here if you want internal PCI support on APM X-Gene SoC. There are 5 internal PCIe ports available. Each port is GEN3 capable @@ -128,7 +124,6 @@ config PCI_XGENE_MSI config PCI_V3_SEMI bool "V3 Semiconductor PCI controller" - depends on OF depends on ARM || COMPILE_TEST default ARCH_INTEGRATOR_AP @@ -146,7 +141,6 @@ config PCIE_IPROC config PCIE_IPROC_PLATFORM tristate "Broadcom iProc PCIe platform bus driver" depends on ARCH_BCM_IPROC || (ARM && COMPILE_TEST) - depends on OF select PCIE_IPROC default ARCH_BCM_IPROC help @@ -190,7 +184,7 @@ config PCIE_ALTERA_MSI config PCI_HOST_THUNDER_PEM bool "Cavium Thunder PCIe controller to off-chip devices" depends on ARM64 || COMPILE_TEST - depends on OF || (ACPI && PCI_QUIRKS) + depends on ACPI && PCI_QUIRKS select PCI_HOST_COMMON help Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs. @@ -198,7 +192,7 @@ config PCI_HOST_THUNDER_PEM config PCI_HOST_THUNDER_ECAM bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon" depends on ARM64 || COMPILE_TEST - depends on OF || (ACPI && PCI_QUIRKS) + depends on ACPI && PCI_QUIRKS select PCI_HOST_COMMON help Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs. @@ -210,7 +204,6 @@ config PCIE_ROCKCHIP config PCIE_ROCKCHIP_HOST tristate "Rockchip PCIe host controller" depends on ARCH_ROCKCHIP || COMPILE_TEST - depends on OF depends on PCI_MSI_IRQ_DOMAIN select MFD_SYSCON select PCIE_ROCKCHIP @@ -222,7 +215,6 @@ config PCIE_ROCKCHIP_HOST config PCIE_ROCKCHIP_EP bool "Rockchip PCIe endpoint controller" depends on ARCH_ROCKCHIP || COMPILE_TEST - depends on OF depends on PCI_ENDPOINT select MFD_SYSCON select PCIE_ROCKCHIP @@ -234,7 +226,6 @@ config PCIE_ROCKCHIP_EP config PCIE_MEDIATEK tristate "MediaTek PCIe controller" depends on ARCH_MEDIATEK || COMPILE_TEST - depends on OF depends on PCI_MSI_IRQ_DOMAIN help Say Y here if you want to enable PCIe controller support on @@ -272,7 +263,6 @@ config PCIE_BRCMSTB tristate "Broadcom Brcmstb PCIe host controller" depends on ARCH_BRCMSTB || ARCH_BCM2835 || ARCH_BCM4908 || \ BMIPS_GENERIC || COMPILE_TEST - depends on OF depends on PCI_MSI_IRQ_DOMAIN default ARCH_BRCMSTB help @@ -289,7 +279,6 @@ config PCI_HYPERV_INTERFACE config PCI_LOONGSON bool "LOONGSON PCI Controller" depends on MACH_LOONGSON64 || COMPILE_TEST - depends on OF depends on PCI_QUIRKS default MACH_LOONGSON64 help @@ -298,7 +287,7 @@ config PCI_LOONGSON config PCIE_MICROCHIP_HOST bool "Microchip AXI PCIe host bridge support" - depends on PCI_MSI && OF + depends on PCI_MSI select PCI_MSI_IRQ_DOMAIN select GENERIC_MSI_IRQ_DOMAIN select PCI_HOST_COMMON @@ -321,7 +310,6 @@ config PCIE_APPLE_MSI_DOORBELL_ADDR config PCIE_APPLE tristate "Apple PCIe controller" depends on ARCH_APPLE || COMPILE_TEST - depends on OF depends on PCI_MSI_IRQ_DOMAIN select PCI_HOST_COMMON help
Remove the "depends on OF" in Kconfig of PCI controllers. These drivers depends on CONFIG_OF because they use interface in of.h file, e.g. "of_match_ptr()". But these interface are defined as stub if CONFIG_OF is not set. Thus we can compile them without CONFIG_OF, instead just with COMPILE_TEST. Signed-off-by: Fan Fei <ffclaire1224@gmail.com> --- Hi, Bjorn, I just did as what you suggested, remove the "depends on OF" in Konfig, and compile it. It seems to work well. On the thread https://lore.kernel.org/all/20201005215817.GA3063223@bjorn-Precision-5520/ mentioned by the task excel, there are some replacement of "of_match_ptr()", but this function seems to be defined even CONFIG_OF is not set. Is it correct to reply in this thread or shall I send it to mail list directly? Kind regards Fan drivers/pci/controller/Kconfig | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-)