Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 925d3166 authored by Lorenzo Pieralisi's avatar Lorenzo Pieralisi Committed by Bjorn Helgaas
Browse files

PCI: controller: Move PCI_DOMAINS selection to arch Kconfig

Commit 51bc085d ("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: 51bc085d ("PCI: Improve host drivers compile test coverage")
Link: https://lkml.kernel.org/r/20180612170229.GA10141@roeck-us.net


Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: default avatarBjorn Helgaas <helgaas@kernel.org>
Acked-by: default avatarJan Kiszka <jan.kiszka@siemens.com>
Acked-by: default avatarLey Foon Tan <ley.foon.tan@intel.com>
Acked-by: default avatarRob 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>
parent 68bb22e9
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -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
+0 −3
Original line number Diff line number Diff line
@@ -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.