* Re: [PATCH v2] PCI: controller: Move PCI_DOMAINS selection to arch Kconfig
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-26 15:59 ` Lorenzo Pieralisi
2018-06-26 17:10 ` Bjorn Helgaas
2 siblings, 1 reply; 11+ messages in thread
From: Jan Kiszka @ 2018-06-20 8:07 UTC (permalink / raw)
To: Lorenzo Pieralisi, linux-pci
Cc: linux-kernel, Scott Branden, Will Deacon, Bjorn Helgaas,
Rob Herring, Russell King, Guenter Roeck, Ley Foon Tan
On 2018-06-19 13:21, 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>
> ---
> 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.
>
Acked-by: Jan Kiszka <jan.kiszka@siemens.com>
--
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2] PCI: controller: Move PCI_DOMAINS selection to arch Kconfig
2018-06-20 8:07 ` Jan Kiszka
@ 2018-06-21 16:54 ` Lorenzo Pieralisi
2018-06-22 5:08 ` Scott Branden
0 siblings, 1 reply; 11+ messages in thread
From: Lorenzo Pieralisi @ 2018-06-21 16:54 UTC (permalink / raw)
To: Jan Kiszka, Scott Branden, Ley Foon Tan
Cc: linux-pci, linux-kernel, Will Deacon, Bjorn Helgaas, Rob Herring,
Russell King, Guenter Roeck
On Wed, Jun 20, 2018 at 10:07:33AM +0200, Jan Kiszka wrote:
> On 2018-06-19 13:21, 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>
> > ---
> > 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.
> >
>
> Acked-by: Jan Kiszka <jan.kiszka@siemens.com>
Thanks a lot. Scott, Ley Foon, does it work for you ? I would like
to ask Bjorn to send it asap since the build on sparc is still broken.
Thanks,
Lorenzo
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2] PCI: controller: Move PCI_DOMAINS selection to arch Kconfig
2018-06-21 16:54 ` Lorenzo Pieralisi
@ 2018-06-22 5:08 ` Scott Branden
2018-06-22 15:59 ` Ley Foon Tan
0 siblings, 1 reply; 11+ messages in thread
From: Scott Branden @ 2018-06-22 5:08 UTC (permalink / raw)
To: Lorenzo Pieralisi, Jan Kiszka, Ley Foon Tan
Cc: linux-pci, linux-kernel, Will Deacon, Bjorn Helgaas, Rob Herring,
Russell King, Guenter Roeck
On 18-06-21 09:54 AM, Lorenzo Pieralisi wrote:
> On Wed, Jun 20, 2018 at 10:07:33AM +0200, Jan Kiszka wrote:
>> On 2018-06-19 13:21, 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>
>>> ---
>>> 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.
>>>
>> Acked-by: Jan Kiszka <jan.kiszka@siemens.com>
> Thanks a lot. Scott, Ley Foon, does it work for you ? I would like
> to ask Bjorn to send it asap since the build on sparc is still broken.
Change will have to be made for arm64 for ARCH_BCM_IPROC as well.
>
> Thanks,
> Lorenzo
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2] PCI: controller: Move PCI_DOMAINS selection to arch Kconfig
2018-06-22 5:08 ` Scott Branden
@ 2018-06-22 15:59 ` Ley Foon Tan
2018-06-25 9:27 ` Lorenzo Pieralisi
0 siblings, 1 reply; 11+ messages in thread
From: Ley Foon Tan @ 2018-06-22 15:59 UTC (permalink / raw)
To: Scott Branden, Lorenzo Pieralisi, Jan Kiszka
Cc: linux-pci, linux-kernel, Will Deacon, Bjorn Helgaas, Rob Herring,
Russell King, Guenter Roeck
On Thu, 2018-06-21 at 22:08 -0700, Scott Branden wrote:
>
>
> On 18-06-21 09:54 AM, Lorenzo Pieralisi wrote:
> >
> >
> > On Wed, Jun 20, 2018 at 10:07:33AM +0200, Jan Kiszka wrote:
> > >
> > >
> > > On 2018-06-19 13:21, 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>
> > > > ---
> > > > 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.
> > > >
> > > Acked-by: Jan Kiszka <jan.kiszka@siemens.com>
> > Thanks a lot. Scott, Ley Foon, does it work for you ? I would like
> > to ask Bjorn to send it asap since the build on sparc is still
> > broken.
> Change will have to be made for arm64 for ARCH_BCM_IPROC as well.
Yes, need to add it to arm64 too. Others are okay.
Acked-by: Ley Foon Tan <ley.foon.tan@intel.com>
Regards
Ley Foon
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2] PCI: controller: Move PCI_DOMAINS selection to arch Kconfig
2018-06-22 15:59 ` Ley Foon Tan
@ 2018-06-25 9:27 ` Lorenzo Pieralisi
2018-06-26 6:48 ` Scott Branden
0 siblings, 1 reply; 11+ messages in thread
From: Lorenzo Pieralisi @ 2018-06-25 9:27 UTC (permalink / raw)
To: Ley Foon Tan
Cc: Scott Branden, Jan Kiszka, linux-pci, linux-kernel, Will Deacon,
Bjorn Helgaas, Rob Herring, Russell King, Guenter Roeck
On Fri, Jun 22, 2018 at 11:59:08PM +0800, Ley Foon Tan wrote:
> On Thu, 2018-06-21 at 22:08 -0700, Scott Branden wrote:
> >
> >
> > On 18-06-21 09:54 AM, Lorenzo Pieralisi wrote:
> > >
> > >
> > > On Wed, Jun 20, 2018 at 10:07:33AM +0200, Jan Kiszka wrote:
> > > >
> > > >
> > > > On 2018-06-19 13:21, 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>
> > > > > ---
> > > > > 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.
> > > > >
> > > > Acked-by: Jan Kiszka <jan.kiszka@siemens.com>
> > > Thanks a lot. Scott, Ley Foon, does it work for you ? I would like
> > > to ask Bjorn to send it asap since the build on sparc is still
> > > broken.
> > Change will have to be made for arm64 for ARCH_BCM_IPROC as well.
> Yes, need to add it to arm64 too. Others are okay.
On arm64 CONFIG_PCI_DOMAINS defaults to CONFIG_PCI so there is no need
to select it, if that's all you need changed there is nothing to
change and this patch is read to be merged.
Lorenzo
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2] PCI: controller: Move PCI_DOMAINS selection to arch Kconfig
2018-06-25 9:27 ` Lorenzo Pieralisi
@ 2018-06-26 6:48 ` Scott Branden
2018-06-26 11:23 ` Lorenzo Pieralisi
0 siblings, 1 reply; 11+ messages in thread
From: Scott Branden @ 2018-06-26 6:48 UTC (permalink / raw)
To: Lorenzo Pieralisi, Ley Foon Tan
Cc: Jan Kiszka, linux-pci, linux-kernel, Will Deacon, Bjorn Helgaas,
Rob Herring, Russell King, Guenter Roeck
Hi Lorenzo,
On 18-06-25 02:27 AM, Lorenzo Pieralisi wrote:
> On Fri, Jun 22, 2018 at 11:59:08PM +0800, Ley Foon Tan wrote:
>> On Thu, 2018-06-21 at 22:08 -0700, Scott Branden wrote:
>>>
>>> On 18-06-21 09:54 AM, Lorenzo Pieralisi wrote:
>>>>
>>>> On Wed, Jun 20, 2018 at 10:07:33AM +0200, Jan Kiszka wrote:
>>>>>
>>>>> On 2018-06-19 13:21, 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>
>>>>>> ---
>>>>>> 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.
>>>>>>
>>>>> Acked-by: Jan Kiszka <jan.kiszka@siemens.com>
>>>> Thanks a lot. Scott, Ley Foon, does it work for you ? I would like
>>>> to ask Bjorn to send it asap since the build on sparc is still
>>>> broken.
>>> Change will have to be made for arm64 for ARCH_BCM_IPROC as well.
>> Yes, need to add it to arm64 too. Others are okay.
> On arm64 CONFIG_PCI_DOMAINS defaults to CONFIG_PCI so there is no need
> to select it, if that's all you need changed there is nothing to
> change and this patch is read to be merged.
I see that now: arm64 is doing things properly. The same should be done
for arm: default to CONFIG_PCI so there is no need to select it.
I didn't like the change to have select to begin with.
>
> Lorenzo
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2] PCI: controller: Move PCI_DOMAINS selection to arch Kconfig
2018-06-26 6:48 ` Scott Branden
@ 2018-06-26 11:23 ` Lorenzo Pieralisi
0 siblings, 0 replies; 11+ messages in thread
From: Lorenzo Pieralisi @ 2018-06-26 11:23 UTC (permalink / raw)
To: Scott Branden
Cc: Ley Foon Tan, Jan Kiszka, linux-pci, linux-kernel, Will Deacon,
Bjorn Helgaas, Rob Herring, Russell King, Guenter Roeck
On Mon, Jun 25, 2018 at 11:48:11PM -0700, Scott Branden wrote:
> Hi Lorenzo,
>
>
> On 18-06-25 02:27 AM, Lorenzo Pieralisi wrote:
> >On Fri, Jun 22, 2018 at 11:59:08PM +0800, Ley Foon Tan wrote:
> >>On Thu, 2018-06-21 at 22:08 -0700, Scott Branden wrote:
> >>>
> >>>On 18-06-21 09:54 AM, Lorenzo Pieralisi wrote:
> >>>>
> >>>>On Wed, Jun 20, 2018 at 10:07:33AM +0200, Jan Kiszka wrote:
> >>>>>
> >>>>>On 2018-06-19 13:21, 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>
> >>>>>>---
> >>>>>>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.
> >>>>>>
> >>>>>Acked-by: Jan Kiszka <jan.kiszka@siemens.com>
> >>>>Thanks a lot. Scott, Ley Foon, does it work for you ? I would like
> >>>>to ask Bjorn to send it asap since the build on sparc is still
> >>>>broken.
> >>>Change will have to be made for arm64 for ARCH_BCM_IPROC as well.
> >>Yes, need to add it to arm64 too. Others are okay.
> >On arm64 CONFIG_PCI_DOMAINS defaults to CONFIG_PCI so there is no need
> >to select it, if that's all you need changed there is nothing to
> >change and this patch is read to be merged.
> I see that now: arm64 is doing things properly. The same should be
> done for arm: default to CONFIG_PCI so there is no need to select
> it.
> I didn't like the change to have select to begin with.
I can't select PCI_DOMAINS by default on ARM 32-bit since this would
force it on platforms (eg non-DT legacy) that never relied on it; this
can easily trigger regressions. This patch is ready to go as-is, I do
not like it either but as I tried to explain it is the only reasonable
way forward.
Thanks,
Lorenzo
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2] PCI: controller: Move PCI_DOMAINS selection to arch Kconfig
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-26 15:59 ` Lorenzo Pieralisi
2018-06-26 16:50 ` Rob Herring
2018-06-26 17:10 ` Bjorn Helgaas
2 siblings, 1 reply; 11+ messages in thread
From: Lorenzo Pieralisi @ 2018-06-26 15:59 UTC (permalink / raw)
To: linux-pci, Bjorn Helgaas, Rob Herring
Cc: linux-kernel, Scott Branden, Will Deacon, Russell King,
Jan Kiszka, Guenter Roeck, Ley Foon Tan
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
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2] PCI: controller: Move PCI_DOMAINS selection to arch Kconfig
2018-06-26 15:59 ` Lorenzo Pieralisi
@ 2018-06-26 16:50 ` Rob Herring
0 siblings, 0 replies; 11+ messages in thread
From: Rob Herring @ 2018-06-26 16:50 UTC (permalink / raw)
To: Lorenzo Pieralisi
Cc: linux-pci, Bjorn Helgaas, linux-kernel, Scott Branden,
Will Deacon, Russell King, Jan Kiszka, Guenter Roeck,
Ley Foon Tan
On Tue, Jun 26, 2018 at 9:58 AM Lorenzo Pieralisi
<lorenzo.pieralisi@arm.com> wrote:
>
> 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.
LGTM
Acked-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2] PCI: controller: Move PCI_DOMAINS selection to arch Kconfig
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-26 15:59 ` Lorenzo Pieralisi
@ 2018-06-26 17:10 ` Bjorn Helgaas
2 siblings, 0 replies; 11+ messages in thread
From: Bjorn Helgaas @ 2018-06-26 17:10 UTC (permalink / raw)
To: Lorenzo Pieralisi
Cc: linux-pci, linux-kernel, Scott Branden, Will Deacon,
Bjorn Helgaas, Rob Herring, Russell King, Jan Kiszka,
Guenter Roeck, Ley Foon Tan
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>
I applied this to for-linus for v4.18, with acks from Jan, Ley Foon, and
Rob. Thanks!
> ---
> 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
>
^ permalink raw reply [flat|nested] 11+ messages in thread