PCI: controller: Move PCI_DOMAINS selection to arch Kconfig
Commit51bc085d64
("PCI: Improve host drivers compile test coverage") added configuration options to allow PCI host controller drivers to be compile tested on all architectures. Some host controller drivers (eg PCIE_ALTERA) config entries select the PCI_DOMAINS config option to enable PCI domains management in the kernel. Now that host controller drivers can be compiled on all architectures, this triggers build regressions on arches that do not implement the PCI_DOMAINS required API (ie pci_domain_nr()): drivers/ata/pata_ali.c: In function 'ali_init_chipset': drivers/ata/pata_ali.c:469:38: error: implicit declaration of function 'pci_domain_nr'; did you mean 'pci_iomap_wc'? Furthemore, some software configurations (ie Jailhouse) require a PCI_DOMAINS enabled kernel to configure multiple host controllers without having an explicit dependency on the ARM platform on which they run. Make PCI_DOMAINS a visible configuration option on ARM so that software configurations that need it can manually select it and move the PCI_DOMAINS selection from PCI controllers configuration file to ARM sub-arch config entries that currently require it, fixing the issue. Fixes:51bc085d64
("PCI: Improve host drivers compile test coverage") Link: https://lkml.kernel.org/r/20180612170229.GA10141@roeck-us.net Reported-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Signed-off-by: Bjorn Helgaas <helgaas@kernel.org> Acked-by: Jan Kiszka <jan.kiszka@siemens.com> Acked-by: Ley Foon Tan <ley.foon.tan@intel.com> Acked-by: Rob Herring <robh@kernel.org> Cc: Scott Branden <scott.branden@broadcom.com> Cc: Will Deacon <will.deacon@arm.com> Cc: Russell King <linux@armlinux.org.uk> Cc: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
parent
68bb22e9d5
commit
925d31668d
|
@ -1245,8 +1245,14 @@ config PCI
|
|||
VESA. If you have PCI, say Y, otherwise N.
|
||||
|
||||
config PCI_DOMAINS
|
||||
bool
|
||||
bool "Support for multiple PCI domains"
|
||||
depends on PCI
|
||||
help
|
||||
Enable PCI domains kernel management. Say Y if your machine
|
||||
has a PCI bus hierarchy that requires more than one PCI
|
||||
domain (aka segment) to be correctly managed. Say N otherwise.
|
||||
|
||||
If you don't know what to do here, say N.
|
||||
|
||||
config PCI_DOMAINS_GENERIC
|
||||
def_bool PCI_DOMAINS
|
||||
|
|
|
@ -20,6 +20,7 @@ config ARCH_BCM_IPROC
|
|||
select GPIOLIB
|
||||
select ARM_AMBA
|
||||
select PINCTRL
|
||||
select PCI_DOMAINS if PCI
|
||||
help
|
||||
This enables support for systems based on Broadcom IPROC architected SoCs.
|
||||
The IPROC complex contains one or more ARM CPUs along with common
|
||||
|
|
|
@ -10,6 +10,7 @@ menuconfig ARCH_SOCFPGA
|
|||
select HAVE_ARM_SCU
|
||||
select HAVE_ARM_TWD if SMP
|
||||
select MFD_SYSCON
|
||||
select PCI_DOMAINS if PCI
|
||||
|
||||
if ARCH_SOCFPGA
|
||||
config SOCFPGA_SUSPEND
|
||||
|
|
|
@ -96,7 +96,6 @@ config PCI_HOST_GENERIC
|
|||
depends on OF
|
||||
select PCI_HOST_COMMON
|
||||
select IRQ_DOMAIN
|
||||
select PCI_DOMAINS
|
||||
help
|
||||
Say Y here if you want to support a simple generic PCI host
|
||||
controller, such as the one emulated by kvmtool.
|
||||
|
@ -138,7 +137,6 @@ config PCI_VERSATILE
|
|||
|
||||
config PCIE_IPROC
|
||||
tristate
|
||||
select PCI_DOMAINS
|
||||
help
|
||||
This enables the iProc PCIe core controller support for Broadcom's
|
||||
iProc family of SoCs. An appropriate bus interface driver needs
|
||||
|
@ -176,7 +174,6 @@ config PCIE_IPROC_MSI
|
|||
config PCIE_ALTERA
|
||||
bool "Altera PCIe controller"
|
||||
depends on ARM || NIOS2 || COMPILE_TEST
|
||||
select PCI_DOMAINS
|
||||
help
|
||||
Say Y here if you want to enable PCIe controller support on Altera
|
||||
FPGA.
|
||||
|
|
Loading…
Reference in a new issue