All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
To: linux-pci@vger.kernel.org, Bjorn Helgaas <bhelgaas@google.com>,
	Rob Herring <robh@kernel.org>
Cc: linux-kernel@vger.kernel.org,
	Scott Branden <scott.branden@broadcom.com>,
	Will Deacon <will.deacon@arm.com>,
	Russell King <linux@armlinux.org.uk>,
	Jan Kiszka <jan.kiszka@siemens.com>,
	Guenter Roeck <linux@roeck-us.net>,
	Ley Foon Tan <lftan@altera.com>
Subject: Re: [PATCH v2] PCI: controller: Move PCI_DOMAINS selection to arch Kconfig
Date: Tue, 26 Jun 2018 16:59:40 +0100	[thread overview]
Message-ID: <20180626155928.GA7233@red-moon> (raw)
In-Reply-To: <20180619112105.14457-1-lorenzo.pieralisi@arm.com>

On Tue, Jun 19, 2018 at 12:21:05PM +0100, Lorenzo Pieralisi wrote:
> Commit 51bc085d6454 ("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: 51bc085d6454 ("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>
> Cc: Scott Branden <scott.branden@broadcom.com>
> Cc: Will Deacon <will.deacon@arm.com>
> Cc: Bjorn Helgaas <bhelgaas@google.com>
> Cc: Rob Herring <robh@kernel.org>
> Cc: Russell King <linux@armlinux.org.uk>
> Cc: Jan Kiszka <jan.kiszka@siemens.com>
> Cc: Guenter Roeck <linux@roeck-us.net>
> Cc: Ley Foon Tan <lftan@altera.com>
> ---

Bjorn, Rob,

if you are OK with this patch I think it is ready to go, hopefully for
-rc3 since currently sparc allmodconfig is still broken as Guenter
reported in the Link I embedded in the patch itself, please let me
know, thanks.

Lorenzo

> v1 -> v2
> 	- Removed ARCH_VIRT PCI_DOMAINS selection
> 	- Added PCI_DOMAINS visible config option
> 
> v1: https://marc.info/?l=linux-pci&m=152932092612352&w=2
> 
>  arch/arm/Kconfig               | 8 +++++++-
>  arch/arm/mach-bcm/Kconfig      | 1 +
>  arch/arm/mach-socfpga/Kconfig  | 1 +
>  drivers/pci/controller/Kconfig | 3 ---
>  4 files changed, 9 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 54eeb8d00bc6..843edfd000be 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -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
> diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig
> index c46a728df44e..25aac6ee2ab1 100644
> --- a/arch/arm/mach-bcm/Kconfig
> +++ b/arch/arm/mach-bcm/Kconfig
> @@ -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
> diff --git a/arch/arm/mach-socfpga/Kconfig b/arch/arm/mach-socfpga/Kconfig
> index d0f62eacf59d..4adb901dd5eb 100644
> --- a/arch/arm/mach-socfpga/Kconfig
> +++ b/arch/arm/mach-socfpga/Kconfig
> @@ -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
> diff --git a/drivers/pci/controller/Kconfig b/drivers/pci/controller/Kconfig
> index 18fa09b3ac8f..cc9fa02d32a0 100644
> --- a/drivers/pci/controller/Kconfig
> +++ b/drivers/pci/controller/Kconfig
> @@ -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.
> -- 
> 2.15.0
> 

  parent reply	other threads:[~2018-06-26 15:59 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-19 11:21 [PATCH v2] PCI: controller: Move PCI_DOMAINS selection to arch Kconfig Lorenzo Pieralisi
2018-06-20  8:07 ` Jan Kiszka
2018-06-21 16:54   ` Lorenzo Pieralisi
2018-06-22  5:08     ` Scott Branden
2018-06-22 15:59       ` Ley Foon Tan
2018-06-25  9:27         ` Lorenzo Pieralisi
2018-06-26  6:48           ` Scott Branden
2018-06-26 11:23             ` Lorenzo Pieralisi
2018-06-26 15:59 ` Lorenzo Pieralisi [this message]
2018-06-26 16:50   ` Rob Herring
2018-06-26 17:10 ` Bjorn Helgaas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180626155928.GA7233@red-moon \
    --to=lorenzo.pieralisi@arm.com \
    --cc=bhelgaas@google.com \
    --cc=jan.kiszka@siemens.com \
    --cc=lftan@altera.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=linux@roeck-us.net \
    --cc=robh@kernel.org \
    --cc=scott.branden@broadcom.com \
    --cc=will.deacon@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.