mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-17 03:14:12 +08:00
6e5a1fff90
There are harmless warnings when compile testing the kernel with CONFIG_TRIM_UNUSED_KSYMS: drivers/pci/controller/dwc/pcie-al.o: no symbols drivers/pci/controller/pci-thunder-ecam.o: no symbols drivers/pci/controller/pci-thunder-pem.o: no symbols The problem here is that the host drivers get built even when the configuration symbols are all disabled, as they pretend to not be drivers but are silently enabled because of the promise that ACPI-based systems need no drivers. Add back the normal symbols to have these drivers built, and change the logic to otherwise only build them when both CONFIG_PCI_QUIRKS and CONFIG_ACPI are enabled. As a side-effect, this enables compile-testing the drivers on other architectures, which in turn needs the acpi_get_rc_resources() function to be defined. Link: https://lore.kernel.org/r/20210308152501.2135937-3-arnd@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Robert Richter <rric@kernel.org>
60 lines
2.5 KiB
Makefile
60 lines
2.5 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
obj-$(CONFIG_PCIE_CADENCE) += cadence/
|
|
obj-$(CONFIG_PCI_FTPCI100) += pci-ftpci100.o
|
|
obj-$(CONFIG_PCI_HYPERV) += pci-hyperv.o
|
|
obj-$(CONFIG_PCI_HYPERV_INTERFACE) += pci-hyperv-intf.o
|
|
obj-$(CONFIG_PCI_MVEBU) += pci-mvebu.o
|
|
obj-$(CONFIG_PCI_AARDVARK) += pci-aardvark.o
|
|
obj-$(CONFIG_PCI_TEGRA) += pci-tegra.o
|
|
obj-$(CONFIG_PCI_RCAR_GEN2) += pci-rcar-gen2.o
|
|
obj-$(CONFIG_PCIE_RCAR_HOST) += pcie-rcar.o pcie-rcar-host.o
|
|
obj-$(CONFIG_PCIE_RCAR_EP) += pcie-rcar.o pcie-rcar-ep.o
|
|
obj-$(CONFIG_PCI_HOST_COMMON) += pci-host-common.o
|
|
obj-$(CONFIG_PCI_HOST_GENERIC) += pci-host-generic.o
|
|
obj-$(CONFIG_PCI_HOST_THUNDER_ECAM) += pci-thunder-ecam.o
|
|
obj-$(CONFIG_PCI_HOST_THUNDER_PEM) += pci-thunder-pem.o
|
|
obj-$(CONFIG_PCIE_XILINX) += pcie-xilinx.o
|
|
obj-$(CONFIG_PCIE_XILINX_NWL) += pcie-xilinx-nwl.o
|
|
obj-$(CONFIG_PCIE_XILINX_CPM) += pcie-xilinx-cpm.o
|
|
obj-$(CONFIG_PCI_V3_SEMI) += pci-v3-semi.o
|
|
obj-$(CONFIG_PCI_XGENE) += pci-xgene.o
|
|
obj-$(CONFIG_PCI_XGENE_MSI) += pci-xgene-msi.o
|
|
obj-$(CONFIG_PCI_VERSATILE) += pci-versatile.o
|
|
obj-$(CONFIG_PCIE_IPROC) += pcie-iproc.o
|
|
obj-$(CONFIG_PCIE_IPROC_MSI) += pcie-iproc-msi.o
|
|
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_ROCKCHIP) += pcie-rockchip.o
|
|
obj-$(CONFIG_PCIE_ROCKCHIP_EP) += pcie-rockchip-ep.o
|
|
obj-$(CONFIG_PCIE_ROCKCHIP_HOST) += pcie-rockchip-host.o
|
|
obj-$(CONFIG_PCIE_MEDIATEK) += pcie-mediatek.o
|
|
obj-$(CONFIG_PCIE_MICROCHIP_HOST) += pcie-microchip-host.o
|
|
obj-$(CONFIG_VMD) += vmd.o
|
|
obj-$(CONFIG_PCIE_BRCMSTB) += pcie-brcmstb.o
|
|
obj-$(CONFIG_PCI_LOONGSON) += pci-loongson.o
|
|
obj-$(CONFIG_PCIE_HISI_ERR) += pcie-hisi-error.o
|
|
# pcie-hisi.o quirks are needed even without CONFIG_PCIE_DW
|
|
obj-y += dwc/
|
|
obj-y += mobiveil/
|
|
|
|
|
|
# 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.
|
|
|
|
ifdef CONFIG_ACPI
|
|
ifdef CONFIG_PCI_QUIRKS
|
|
obj-$(CONFIG_ARM64) += pci-thunder-ecam.o
|
|
obj-$(CONFIG_ARM64) += pci-thunder-pem.o
|
|
obj-$(CONFIG_ARM64) += pci-xgene.o
|
|
endif
|
|
endif
|