2017-06-23 21:47:46

by Palmer Dabbelt

[permalink] [raw]
Subject: [PATCH] pci: Add and use PCI_GENERIC_SETUP Kconfig entry

We wanted to add RISC-V to the list of architectures that used the
generic PCI setup-irq.o inside the Makefile and it was suggested that
instead we define a Kconfig entry and use that.

I've done very minimal testing on this: I just checked to see that
an aarch64 defconfig still build setup-irq.o with the patch applied.
The intention is that this patch doesn't change the behavior of any
build.

Signed-off-by: Palmer Dabbelt <[email protected]>
---
arch/alpha/Kconfig | 1 +
arch/arc/Kconfig | 1 +
arch/arm/Kconfig | 1 +
arch/arm64/Kconfig | 1 +
arch/m68k/Kconfig | 1 +
arch/mips/Kconfig | 1 +
arch/sh/Kconfig | 1 +
arch/sparc/Kconfig | 1 +
arch/tile/Kconfig | 1 +
arch/unicore32/Kconfig | 1 +
drivers/pci/Kconfig | 3 +++
drivers/pci/Makefile | 11 +----------
12 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index 0e49d39ea74a..30f4e711f681 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -26,6 +26,7 @@ config ALPHA
select ODD_RT_SIGACTION
select OLD_SIGSUSPEND
select CPU_NO_EFFICIENT_FFS if !ALPHA_EV67
+ select PCI_GENERIC_SETUP
help
The Alpha is a 64-bit general-purpose processor designed and
marketed by the Digital Equipment Corporation of blessed memory,
diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
index a5459698f0ee..dd1f64858118 100644
--- a/arch/arc/Kconfig
+++ b/arch/arc/Kconfig
@@ -44,6 +44,7 @@ config ARC
select HAVE_GENERIC_DMA_COHERENT
select HAVE_KERNEL_GZIP
select HAVE_KERNEL_LZMA
+ select PCI_GENERIC_SETUP

config MIGHT_HAVE_PCI
bool
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 4c1a35f15838..86872246951c 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -96,6 +96,7 @@ config ARM
select PERF_USE_VMALLOC
select RTC_LIB
select SYS_SUPPORTS_APM_EMULATION
+ select PCI_GENERIC_SETUP
# Above selects are sorted alphabetically; please add new ones
# according to that. Thanks.
help
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index b2024db225a9..6c684d8c8816 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -115,6 +115,7 @@ config ARM64
select SPARSE_IRQ
select SYSCTL_EXCEPTION_TRACE
select THREAD_INFO_IN_TASK
+ select PCI_GENERIC_SETUP
help
ARM 64-bit (AArch64) Linux support.

diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
index d140206d5d29..c16214344f1c 100644
--- a/arch/m68k/Kconfig
+++ b/arch/m68k/Kconfig
@@ -22,6 +22,7 @@ config M68K
select MODULES_USE_ELF_RELA
select OLD_SIGSUSPEND3
select OLD_SIGACTION
+ select PCI_GENERIC_SETUP

config RWSEM_GENERIC_SPINLOCK
bool
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 2828ecde133d..474a7c710686 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -70,6 +70,7 @@ config MIPS
select HAVE_EXIT_THREAD
select HAVE_REGS_AND_STACK_ACCESS_API
select HAVE_COPY_THREAD_TLS
+ select PCI_GENERIC_SETUP

menu "Machine selection"

diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index ee086958b2b2..90a98ac526fb 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -48,6 +48,7 @@ config SUPERH
select HAVE_ARCH_AUDITSYSCALL
select HAVE_FUTEX_CMPXCHG if FUTEX
select HAVE_NMI
+ select PCI_GENERIC_SETUP
help
The SuperH is a RISC processor targeted for use in embedded systems
and consumer electronics; it was also used in the Sega Dreamcast
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index 5639c9fe5b55..24cea64104bd 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -424,6 +424,7 @@ config SPARC_LEON
depends on SPARC32
select USB_EHCI_BIG_ENDIAN_MMIO
select USB_EHCI_BIG_ENDIAN_DESC
+ select PCI_GENERIC_SETUP
---help---
If you say Y here if you are running on a SPARC-LEON processor.
The LEON processor is a synthesizable VHDL model of the
diff --git a/arch/tile/Kconfig b/arch/tile/Kconfig
index 4583c0320059..6679af85a882 100644
--- a/arch/tile/Kconfig
+++ b/arch/tile/Kconfig
@@ -33,6 +33,7 @@ config TILE
select USER_STACKTRACE_SUPPORT
select USE_PMC if PERF_EVENTS
select VIRT_TO_BUS
+ select PCI_GENERIC_SETUP

config MMU
def_bool y
diff --git a/arch/unicore32/Kconfig b/arch/unicore32/Kconfig
index 0769066929c6..162a7d3def0c 100644
--- a/arch/unicore32/Kconfig
+++ b/arch/unicore32/Kconfig
@@ -18,6 +18,7 @@ config UNICORE32
select ARCH_WANT_FRAME_POINTERS
select GENERIC_IOMAP
select MODULES_USE_ELF_REL
+ select PCI_GENERIC_SETUP
help
UniCore-32 is 32-bit Instruction Set Architecture,
including a series of low-power-consumption RISC chip
diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
index e0cacb7b8563..658c9f95ab3f 100644
--- a/drivers/pci/Kconfig
+++ b/drivers/pci/Kconfig
@@ -131,6 +131,9 @@ config PCI_HYPERV
The PCI device frontend driver allows the kernel to import arbitrary
PCI devices from a PCI backend to support PCI driver domains.

+config PCI_GENERIC_SETUP
+ def_bool n
+
source "drivers/pci/hotplug/Kconfig"
source "drivers/pci/dwc/Kconfig"
source "drivers/pci/host/Kconfig"
diff --git a/drivers/pci/Makefile b/drivers/pci/Makefile
index 462c1f5f5546..26f4710c88ec 100644
--- a/drivers/pci/Makefile
+++ b/drivers/pci/Makefile
@@ -31,16 +31,7 @@ obj-$(CONFIG_PCI_IOV) += iov.o
#
# Some architectures use the generic PCI setup functions
#
-obj-$(CONFIG_ALPHA) += setup-irq.o
-obj-$(CONFIG_ARC) += setup-irq.o
-obj-$(CONFIG_ARM) += setup-irq.o
-obj-$(CONFIG_ARM64) += setup-irq.o
-obj-$(CONFIG_UNICORE32) += setup-irq.o
-obj-$(CONFIG_SUPERH) += setup-irq.o
-obj-$(CONFIG_MIPS) += setup-irq.o
-obj-$(CONFIG_TILE) += setup-irq.o
-obj-$(CONFIG_SPARC_LEON) += setup-irq.o
-obj-$(CONFIG_M68K) += setup-irq.o
+obj-$(CONFIG_PCI_GENERIC_SETUP) += setup-irq.o

#
# ACPI Related PCI FW Functions
--
2.13.0


2017-06-23 22:01:10

by James Hogan

[permalink] [raw]
Subject: Re: [PATCH] pci: Add and use PCI_GENERIC_SETUP Kconfig entry

On Fri, Jun 23, 2017 at 02:45:38PM -0700, Palmer Dabbelt wrote:
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 4c1a35f15838..86872246951c 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -96,6 +96,7 @@ config ARM
> select PERF_USE_VMALLOC
> select RTC_LIB
> select SYS_SUPPORTS_APM_EMULATION
> + select PCI_GENERIC_SETUP
> # Above selects are sorted alphabetically; please add new ones
> # according to that. Thanks.

This comment seems to suggest PCI_GENERIC_SETUP should be added a few
lines up to preserve the alphabetical sorting.

> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index b2024db225a9..6c684d8c8816 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -115,6 +115,7 @@ config ARM64
> select SPARSE_IRQ
> select SYSCTL_EXCEPTION_TRACE
> select THREAD_INFO_IN_TASK
> + select PCI_GENERIC_SETUP

Here too.

> diff --git a/arch/tile/Kconfig b/arch/tile/Kconfig
> index 4583c0320059..6679af85a882 100644
> --- a/arch/tile/Kconfig
> +++ b/arch/tile/Kconfig
> @@ -33,6 +33,7 @@ config TILE
> select USER_STACKTRACE_SUPPORT
> select USE_PMC if PERF_EVENTS
> select VIRT_TO_BUS
> + select PCI_GENERIC_SETUP

and here

Otherwise
Reviewed-by: James Hogan <[email protected]>

Cheers
James


Attachments:
(No filename) (1.24 kB)
signature.asc (833.00 B)
Digital signature
Download all attachments

2017-06-23 22:09:07

by Palmer Dabbelt

[permalink] [raw]
Subject: Re: [PATCH] pci: Add and use PCI_GENERIC_SETUP Kconfig entry

On Fri, 23 Jun 2017 15:01:04 PDT (-0700), [email protected] wrote:
> On Fri, Jun 23, 2017 at 02:45:38PM -0700, Palmer Dabbelt wrote:
>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
>> index 4c1a35f15838..86872246951c 100644
>> --- a/arch/arm/Kconfig
>> +++ b/arch/arm/Kconfig
>> @@ -96,6 +96,7 @@ config ARM
>> select PERF_USE_VMALLOC
>> select RTC_LIB
>> select SYS_SUPPORTS_APM_EMULATION
>> + select PCI_GENERIC_SETUP
>> # Above selects are sorted alphabetically; please add new ones
>> # according to that. Thanks.
>
> This comment seems to suggest PCI_GENERIC_SETUP should be added a few
> lines up to preserve the alphabetical sorting.
>
>> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
>> index b2024db225a9..6c684d8c8816 100644
>> --- a/arch/arm64/Kconfig
>> +++ b/arch/arm64/Kconfig
>> @@ -115,6 +115,7 @@ config ARM64
>> select SPARSE_IRQ
>> select SYSCTL_EXCEPTION_TRACE
>> select THREAD_INFO_IN_TASK
>> + select PCI_GENERIC_SETUP
>
> Here too.
>
>> diff --git a/arch/tile/Kconfig b/arch/tile/Kconfig
>> index 4583c0320059..6679af85a882 100644
>> --- a/arch/tile/Kconfig
>> +++ b/arch/tile/Kconfig
>> @@ -33,6 +33,7 @@ config TILE
>> select USER_STACKTRACE_SUPPORT
>> select USE_PMC if PERF_EVENTS
>> select VIRT_TO_BUS
>> + select PCI_GENERIC_SETUP
>
> and here
>
> Otherwise
> Reviewed-by: James Hogan <[email protected]>

Whoops -- I guess I was just on autopilot after seeing the first one not be
alphabetized. A fixed patch is in a threaded message.

2017-06-23 22:11:09

by Palmer Dabbelt

[permalink] [raw]
Subject: [PATCH] pci: Add and use PCI_GENERIC_SETUP Kconfig entry

We wanted to add RISC-V to the list of architectures that used the
generic PCI setup-irq.o inside the Makefile and it was suggested that
instead we define a Kconfig entry and use that.

I've done very minimal testing on this: I just checked to see that
an aarch64 defconfig still build setup-irq.o with the patch applied.
The intention is that this patch doesn't change the behavior of any
build.

Signed-off-by: Palmer Dabbelt <[email protected]>
Reviewed-by: James Hogan <[email protected]>
---
arch/alpha/Kconfig | 1 +
arch/arc/Kconfig | 1 +
arch/arm/Kconfig | 1 +
arch/arm64/Kconfig | 1 +
arch/m68k/Kconfig | 1 +
arch/mips/Kconfig | 1 +
arch/sh/Kconfig | 1 +
arch/sparc/Kconfig | 1 +
arch/tile/Kconfig | 1 +
arch/unicore32/Kconfig | 1 +
drivers/pci/Kconfig | 3 +++
drivers/pci/Makefile | 11 +----------
12 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index 0e49d39ea74a..30f4e711f681 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -26,6 +26,7 @@ config ALPHA
select ODD_RT_SIGACTION
select OLD_SIGSUSPEND
select CPU_NO_EFFICIENT_FFS if !ALPHA_EV67
+ select PCI_GENERIC_SETUP
help
The Alpha is a 64-bit general-purpose processor designed and
marketed by the Digital Equipment Corporation of blessed memory,
diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
index a5459698f0ee..dd1f64858118 100644
--- a/arch/arc/Kconfig
+++ b/arch/arc/Kconfig
@@ -44,6 +44,7 @@ config ARC
select HAVE_GENERIC_DMA_COHERENT
select HAVE_KERNEL_GZIP
select HAVE_KERNEL_LZMA
+ select PCI_GENERIC_SETUP

config MIGHT_HAVE_PCI
bool
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 4c1a35f15838..4f910c4c37b2 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -93,6 +93,7 @@ config ARM
select OF_RESERVED_MEM if OF
select OLD_SIGACTION
select OLD_SIGSUSPEND3
+ select PCI_GENERIC_SETUP
select PERF_USE_VMALLOC
select RTC_LIB
select SYS_SUPPORTS_APM_EMULATION
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index b2024db225a9..02d4676cb00e 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -110,6 +110,7 @@ config ARM64
select OF_EARLY_FLATTREE
select OF_RESERVED_MEM
select PCI_ECAM if ACPI
+ select PCI_GENERIC_SETUP
select POWER_RESET
select POWER_SUPPLY
select SPARSE_IRQ
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
index d140206d5d29..c16214344f1c 100644
--- a/arch/m68k/Kconfig
+++ b/arch/m68k/Kconfig
@@ -22,6 +22,7 @@ config M68K
select MODULES_USE_ELF_RELA
select OLD_SIGSUSPEND3
select OLD_SIGACTION
+ select PCI_GENERIC_SETUP

config RWSEM_GENERIC_SPINLOCK
bool
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 2828ecde133d..474a7c710686 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -70,6 +70,7 @@ config MIPS
select HAVE_EXIT_THREAD
select HAVE_REGS_AND_STACK_ACCESS_API
select HAVE_COPY_THREAD_TLS
+ select PCI_GENERIC_SETUP

menu "Machine selection"

diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index ee086958b2b2..90a98ac526fb 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -48,6 +48,7 @@ config SUPERH
select HAVE_ARCH_AUDITSYSCALL
select HAVE_FUTEX_CMPXCHG if FUTEX
select HAVE_NMI
+ select PCI_GENERIC_SETUP
help
The SuperH is a RISC processor targeted for use in embedded systems
and consumer electronics; it was also used in the Sega Dreamcast
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index 5639c9fe5b55..24cea64104bd 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -424,6 +424,7 @@ config SPARC_LEON
depends on SPARC32
select USB_EHCI_BIG_ENDIAN_MMIO
select USB_EHCI_BIG_ENDIAN_DESC
+ select PCI_GENERIC_SETUP
---help---
If you say Y here if you are running on a SPARC-LEON processor.
The LEON processor is a synthesizable VHDL model of the
diff --git a/arch/tile/Kconfig b/arch/tile/Kconfig
index 4583c0320059..451000db8c62 100644
--- a/arch/tile/Kconfig
+++ b/arch/tile/Kconfig
@@ -28,6 +28,7 @@ config TILE
select HAVE_PERF_EVENTS
select HAVE_SYSCALL_TRACEPOINTS
select MODULES_USE_ELF_RELA
+ select PCI_GENERIC_SETUP
select SYSCTL_EXCEPTION_TRACE
select SYS_HYPERVISOR
select USER_STACKTRACE_SUPPORT
diff --git a/arch/unicore32/Kconfig b/arch/unicore32/Kconfig
index 0769066929c6..162a7d3def0c 100644
--- a/arch/unicore32/Kconfig
+++ b/arch/unicore32/Kconfig
@@ -18,6 +18,7 @@ config UNICORE32
select ARCH_WANT_FRAME_POINTERS
select GENERIC_IOMAP
select MODULES_USE_ELF_REL
+ select PCI_GENERIC_SETUP
help
UniCore-32 is 32-bit Instruction Set Architecture,
including a series of low-power-consumption RISC chip
diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
index e0cacb7b8563..658c9f95ab3f 100644
--- a/drivers/pci/Kconfig
+++ b/drivers/pci/Kconfig
@@ -131,6 +131,9 @@ config PCI_HYPERV
The PCI device frontend driver allows the kernel to import arbitrary
PCI devices from a PCI backend to support PCI driver domains.

+config PCI_GENERIC_SETUP
+ def_bool n
+
source "drivers/pci/hotplug/Kconfig"
source "drivers/pci/dwc/Kconfig"
source "drivers/pci/host/Kconfig"
diff --git a/drivers/pci/Makefile b/drivers/pci/Makefile
index 462c1f5f5546..26f4710c88ec 100644
--- a/drivers/pci/Makefile
+++ b/drivers/pci/Makefile
@@ -31,16 +31,7 @@ obj-$(CONFIG_PCI_IOV) += iov.o
#
# Some architectures use the generic PCI setup functions
#
-obj-$(CONFIG_ALPHA) += setup-irq.o
-obj-$(CONFIG_ARC) += setup-irq.o
-obj-$(CONFIG_ARM) += setup-irq.o
-obj-$(CONFIG_ARM64) += setup-irq.o
-obj-$(CONFIG_UNICORE32) += setup-irq.o
-obj-$(CONFIG_SUPERH) += setup-irq.o
-obj-$(CONFIG_MIPS) += setup-irq.o
-obj-$(CONFIG_TILE) += setup-irq.o
-obj-$(CONFIG_SPARC_LEON) += setup-irq.o
-obj-$(CONFIG_M68K) += setup-irq.o
+obj-$(CONFIG_PCI_GENERIC_SETUP) += setup-irq.o

#
# ACPI Related PCI FW Functions
--
2.13.0

2017-06-24 09:13:55

by Russell King (Oracle)

[permalink] [raw]
Subject: Re: [PATCH] pci: Add and use PCI_GENERIC_SETUP Kconfig entry

On Fri, Jun 23, 2017 at 02:45:38PM -0700, Palmer Dabbelt wrote:
> We wanted to add RISC-V to the list of architectures that used the
> generic PCI setup-irq.o inside the Makefile and it was suggested that
> instead we define a Kconfig entry and use that.
>
> I've done very minimal testing on this: I just checked to see that
> an aarch64 defconfig still build setup-irq.o with the patch applied.
> The intention is that this patch doesn't change the behavior of any
> build.
>
> Signed-off-by: Palmer Dabbelt <[email protected]>

Looks fine from an ARM point of view, thanks.

Acked-by: Russell King <[email protected]>

> diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
> index e0cacb7b8563..658c9f95ab3f 100644
> --- a/drivers/pci/Kconfig
> +++ b/drivers/pci/Kconfig
> @@ -131,6 +131,9 @@ config PCI_HYPERV
> The PCI device frontend driver allows the kernel to import arbitrary
> PCI devices from a PCI backend to support PCI driver domains.
>
> +config PCI_GENERIC_SETUP
> + def_bool n

bool

would be sufficient here - the default is 'n' for all options.

--
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.

2017-06-24 09:14:22

by Russell King (Oracle)

[permalink] [raw]
Subject: Re: [PATCH] pci: Add and use PCI_GENERIC_SETUP Kconfig entry

On Fri, Jun 23, 2017 at 11:01:04PM +0100, James Hogan wrote:
> On Fri, Jun 23, 2017 at 02:45:38PM -0700, Palmer Dabbelt wrote:
> > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> > index 4c1a35f15838..86872246951c 100644
> > --- a/arch/arm/Kconfig
> > +++ b/arch/arm/Kconfig
> > @@ -96,6 +96,7 @@ config ARM
> > select PERF_USE_VMALLOC
> > select RTC_LIB
> > select SYS_SUPPORTS_APM_EMULATION
> > + select PCI_GENERIC_SETUP
> > # Above selects are sorted alphabetically; please add new ones
> > # according to that. Thanks.
>
> This comment seems to suggest PCI_GENERIC_SETUP should be added a few
> lines up to preserve the alphabetical sorting.

Indeed it should.

--
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.

2017-06-24 15:08:52

by Richard Henderson

[permalink] [raw]
Subject: Re: [PATCH] pci: Add and use PCI_GENERIC_SETUP Kconfig entry

On 06/23/2017 03:08 PM, Palmer Dabbelt wrote:
> We wanted to add RISC-V to the list of architectures that used the
> generic PCI setup-irq.o inside the Makefile and it was suggested that
> instead we define a Kconfig entry and use that.
>
> I've done very minimal testing on this: I just checked to see that
> an aarch64 defconfig still build setup-irq.o with the patch applied.
> The intention is that this patch doesn't change the behavior of any
> build.
>
> Signed-off-by: Palmer Dabbelt<[email protected]>
> Reviewed-by: James Hogan<[email protected]>
> ---
> arch/alpha/Kconfig | 1 +

Acked-by: Richard Henderson <[email protected]>


r~

2017-06-26 05:40:08

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH] pci: Add and use PCI_GENERIC_SETUP Kconfig entry

Hi Palmer,

[auto build test WARNING on linus/master]
[also build test WARNING on v4.12-rc6]
[cannot apply to next-20170623]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Palmer-Dabbelt/pci-Add-and-use-PCI_GENERIC_SETUP-Kconfig-entry/20170626-043558
config: m68k-allnoconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 4.9.0
reproduce:
wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=m68k

All warnings (new ones prefixed by >>):

warning: (M68K) selects PCI_GENERIC_SETUP which has unmet direct dependencies (MMU)

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation


Attachments:
(No filename) (961.00 B)
.config.gz (4.38 kB)
Download all attachments

2017-06-26 07:26:31

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH] pci: Add and use PCI_GENERIC_SETUP Kconfig entry

On Mon, Jun 26, 2017 at 7:39 AM, kbuild test robot <[email protected]> wrote:
> [auto build test WARNING on linus/master]
> [also build test WARNING on v4.12-rc6]
> [cannot apply to next-20170623]
> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
>
> url: https://github.com/0day-ci/linux/commits/Palmer-Dabbelt/pci-Add-and-use-PCI_GENERIC_SETUP-Kconfig-entry/20170626-043558
> config: m68k-allnoconfig (attached as .config)
> compiler: m68k-linux-gcc (GCC) 4.9.0
> reproduce:
> wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # save the attached .config to linux build tree
> make.cross ARCH=m68k
>
> All warnings (new ones prefixed by >>):
>
> warning: (M68K) selects PCI_GENERIC_SETUP which has unmet direct dependencies (MMU)

I can't seem to find this dependency of PCI_GENERIC_SETUP on MMU?

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2017-06-26 20:28:18

by Palmer Dabbelt

[permalink] [raw]
Subject: Re: [PATCH] pci: Add and use PCI_GENERIC_SETUP Kconfig entry

>On Mon, Jun 26, 2017 at 7:39 AM, kbuild test robot <[email protected]> wrote:
>> [auto build test WARNING on linus/master]
>> [also build test WARNING on v4.12-rc6]
>> [cannot apply to next-20170623]
>> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
>>
>> url: https://github.com/0day-ci/linux/commits/Palmer-Dabbelt/pci-Add-and-use-PCI_GENERIC_SETUP-Kconfig-entry/20170626-043558
>> config: m68k-allnoconfig (attached as .config)
>> compiler: m68k-linux-gcc (GCC) 4.9.0
>> reproduce:
>> wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>> chmod +x ~/bin/make.cross
>> # save the attached .config to linux build tree
>> make.cross ARCH=m68k
>>
>> All warnings (new ones prefixed by >>):
>>
>> warning: (M68K) selects PCI_GENERIC_SETUP which has unmet direct dependencies (MMU)
>
>I can't seem to find this dependency of PCI_GENERIC_SETUP on MMU?

It looks like M68K only includes the PCI Kconfig entry when MMU is enabled. I
moved the select around a bit and it builds the config that was failing for me.

The updated patch is threaded.

2017-06-26 20:28:26

by Palmer Dabbelt

[permalink] [raw]
Subject: [PATCH] pci: Add and use PCI_GENERIC_SETUP Kconfig entry

We wanted to add RISC-V to the list of architectures that used the
generic PCI setup-irq.o inside the Makefile and it was suggested that
instead we define a Kconfig entry and use that.

I've done very minimal testing on this: I just checked to see that
an aarch64 defconfig still build setup-irq.o with the patch applied.
The intention is that this patch doesn't change the behavior of any
build.

Signed-off-by: Palmer Dabbelt <[email protected]>
Reviewed-by: James Hogan <[email protected]>
Acked-by: Russell King <[email protected]>
Acked-by: Richard Henderson <[email protected]>
Acked-by: Vineet Gupta <[email protected]> [arch/arc]
---
arch/alpha/Kconfig | 1 +
arch/arc/Kconfig | 1 +
arch/arm/Kconfig | 1 +
arch/arm64/Kconfig | 1 +
arch/m68k/Kconfig.bus | 1 +
arch/mips/Kconfig | 1 +
arch/sh/Kconfig | 1 +
arch/sparc/Kconfig | 1 +
arch/tile/Kconfig | 1 +
arch/unicore32/Kconfig | 1 +
drivers/pci/Kconfig | 3 +++
drivers/pci/Makefile | 11 +----------
12 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index 0e49d39ea74a..30f4e711f681 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -26,6 +26,7 @@ config ALPHA
select ODD_RT_SIGACTION
select OLD_SIGSUSPEND
select CPU_NO_EFFICIENT_FFS if !ALPHA_EV67
+ select PCI_GENERIC_SETUP
help
The Alpha is a 64-bit general-purpose processor designed and
marketed by the Digital Equipment Corporation of blessed memory,
diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
index a5459698f0ee..dd1f64858118 100644
--- a/arch/arc/Kconfig
+++ b/arch/arc/Kconfig
@@ -44,6 +44,7 @@ config ARC
select HAVE_GENERIC_DMA_COHERENT
select HAVE_KERNEL_GZIP
select HAVE_KERNEL_LZMA
+ select PCI_GENERIC_SETUP

config MIGHT_HAVE_PCI
bool
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 4c1a35f15838..4f910c4c37b2 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -93,6 +93,7 @@ config ARM
select OF_RESERVED_MEM if OF
select OLD_SIGACTION
select OLD_SIGSUSPEND3
+ select PCI_GENERIC_SETUP
select PERF_USE_VMALLOC
select RTC_LIB
select SYS_SUPPORTS_APM_EMULATION
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index b2024db225a9..02d4676cb00e 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -110,6 +110,7 @@ config ARM64
select OF_EARLY_FLATTREE
select OF_RESERVED_MEM
select PCI_ECAM if ACPI
+ select PCI_GENERIC_SETUP
select POWER_RESET
select POWER_SUPPLY
select SPARSE_IRQ
diff --git a/arch/m68k/Kconfig.bus b/arch/m68k/Kconfig.bus
index 675b087198f6..bcab783f0487 100644
--- a/arch/m68k/Kconfig.bus
+++ b/arch/m68k/Kconfig.bus
@@ -61,6 +61,7 @@ config GENERIC_ISA_DMA
config PCI
bool "PCI support"
depends on M54xx
+ select PCI_GENERIC_SETUP
help
Enable the PCI bus. Support for the PCI bus hardware built into the
ColdFire 547x and 548x processors.
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 2828ecde133d..474a7c710686 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -70,6 +70,7 @@ config MIPS
select HAVE_EXIT_THREAD
select HAVE_REGS_AND_STACK_ACCESS_API
select HAVE_COPY_THREAD_TLS
+ select PCI_GENERIC_SETUP

menu "Machine selection"

diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index ee086958b2b2..90a98ac526fb 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -48,6 +48,7 @@ config SUPERH
select HAVE_ARCH_AUDITSYSCALL
select HAVE_FUTEX_CMPXCHG if FUTEX
select HAVE_NMI
+ select PCI_GENERIC_SETUP
help
The SuperH is a RISC processor targeted for use in embedded systems
and consumer electronics; it was also used in the Sega Dreamcast
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index 5639c9fe5b55..24cea64104bd 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -424,6 +424,7 @@ config SPARC_LEON
depends on SPARC32
select USB_EHCI_BIG_ENDIAN_MMIO
select USB_EHCI_BIG_ENDIAN_DESC
+ select PCI_GENERIC_SETUP
---help---
If you say Y here if you are running on a SPARC-LEON processor.
The LEON processor is a synthesizable VHDL model of the
diff --git a/arch/tile/Kconfig b/arch/tile/Kconfig
index 4583c0320059..451000db8c62 100644
--- a/arch/tile/Kconfig
+++ b/arch/tile/Kconfig
@@ -28,6 +28,7 @@ config TILE
select HAVE_PERF_EVENTS
select HAVE_SYSCALL_TRACEPOINTS
select MODULES_USE_ELF_RELA
+ select PCI_GENERIC_SETUP
select SYSCTL_EXCEPTION_TRACE
select SYS_HYPERVISOR
select USER_STACKTRACE_SUPPORT
diff --git a/arch/unicore32/Kconfig b/arch/unicore32/Kconfig
index 0769066929c6..162a7d3def0c 100644
--- a/arch/unicore32/Kconfig
+++ b/arch/unicore32/Kconfig
@@ -18,6 +18,7 @@ config UNICORE32
select ARCH_WANT_FRAME_POINTERS
select GENERIC_IOMAP
select MODULES_USE_ELF_REL
+ select PCI_GENERIC_SETUP
help
UniCore-32 is 32-bit Instruction Set Architecture,
including a series of low-power-consumption RISC chip
diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
index e0cacb7b8563..72a1c4c65926 100644
--- a/drivers/pci/Kconfig
+++ b/drivers/pci/Kconfig
@@ -131,6 +131,9 @@ config PCI_HYPERV
The PCI device frontend driver allows the kernel to import arbitrary
PCI devices from a PCI backend to support PCI driver domains.

+config PCI_GENERIC_SETUP
+ bool
+
source "drivers/pci/hotplug/Kconfig"
source "drivers/pci/dwc/Kconfig"
source "drivers/pci/host/Kconfig"
diff --git a/drivers/pci/Makefile b/drivers/pci/Makefile
index 462c1f5f5546..26f4710c88ec 100644
--- a/drivers/pci/Makefile
+++ b/drivers/pci/Makefile
@@ -31,16 +31,7 @@ obj-$(CONFIG_PCI_IOV) += iov.o
#
# Some architectures use the generic PCI setup functions
#
-obj-$(CONFIG_ALPHA) += setup-irq.o
-obj-$(CONFIG_ARC) += setup-irq.o
-obj-$(CONFIG_ARM) += setup-irq.o
-obj-$(CONFIG_ARM64) += setup-irq.o
-obj-$(CONFIG_UNICORE32) += setup-irq.o
-obj-$(CONFIG_SUPERH) += setup-irq.o
-obj-$(CONFIG_MIPS) += setup-irq.o
-obj-$(CONFIG_TILE) += setup-irq.o
-obj-$(CONFIG_SPARC_LEON) += setup-irq.o
-obj-$(CONFIG_M68K) += setup-irq.o
+obj-$(CONFIG_PCI_GENERIC_SETUP) += setup-irq.o

#
# ACPI Related PCI FW Functions
--
2.13.0

2017-06-27 10:18:56

by Ralf Baechle

[permalink] [raw]
Subject: Re: [PATCH] pci: Add and use PCI_GENERIC_SETUP Kconfig entry

On Mon, Jun 26, 2017 at 01:27:56PM -0700, Palmer Dabbelt wrote:

Acked-by: Ralf Baechle <[email protected]>

Thanks,

Ralf

2017-06-27 23:37:54

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [PATCH] pci: Add and use PCI_GENERIC_SETUP Kconfig entry

[+cc Lorenzo]

Hi Palmer,

On Fri, Jun 23, 2017 at 02:45:38PM -0700, Palmer Dabbelt wrote:
> We wanted to add RISC-V to the list of architectures that used the
> generic PCI setup-irq.o inside the Makefile and it was suggested that
> instead we define a Kconfig entry and use that.
>
> I've done very minimal testing on this: I just checked to see that
> an aarch64 defconfig still build setup-irq.o with the patch applied.
> The intention is that this patch doesn't change the behavior of any
> build.
>
> Signed-off-by: Palmer Dabbelt <[email protected]>

Lorenzo Pieralisi's "ARM/ARM64: remove pci_fixup_irqs() usage" series
overlaps with this quite a bit, and includes this patch:

https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/commit/?h=pci/enumeration&id=5b64036feff4

which makes it so we build setup-irq.o on *all* arches. Can you check
out the pci/enumeration branch and see whether it accomplishes what
you need?

https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=pci/enumeration

> ---
> arch/alpha/Kconfig | 1 +
> arch/arc/Kconfig | 1 +
> arch/arm/Kconfig | 1 +
> arch/arm64/Kconfig | 1 +
> arch/m68k/Kconfig | 1 +
> arch/mips/Kconfig | 1 +
> arch/sh/Kconfig | 1 +
> arch/sparc/Kconfig | 1 +
> arch/tile/Kconfig | 1 +
> arch/unicore32/Kconfig | 1 +
> drivers/pci/Kconfig | 3 +++
> drivers/pci/Makefile | 11 +----------
> 12 files changed, 14 insertions(+), 10 deletions(-)
>
> diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
> index 0e49d39ea74a..30f4e711f681 100644
> --- a/arch/alpha/Kconfig
> +++ b/arch/alpha/Kconfig
> @@ -26,6 +26,7 @@ config ALPHA
> select ODD_RT_SIGACTION
> select OLD_SIGSUSPEND
> select CPU_NO_EFFICIENT_FFS if !ALPHA_EV67
> + select PCI_GENERIC_SETUP
> help
> The Alpha is a 64-bit general-purpose processor designed and
> marketed by the Digital Equipment Corporation of blessed memory,
> diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
> index a5459698f0ee..dd1f64858118 100644
> --- a/arch/arc/Kconfig
> +++ b/arch/arc/Kconfig
> @@ -44,6 +44,7 @@ config ARC
> select HAVE_GENERIC_DMA_COHERENT
> select HAVE_KERNEL_GZIP
> select HAVE_KERNEL_LZMA
> + select PCI_GENERIC_SETUP
>
> config MIGHT_HAVE_PCI
> bool
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 4c1a35f15838..86872246951c 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -96,6 +96,7 @@ config ARM
> select PERF_USE_VMALLOC
> select RTC_LIB
> select SYS_SUPPORTS_APM_EMULATION
> + select PCI_GENERIC_SETUP
> # Above selects are sorted alphabetically; please add new ones
> # according to that. Thanks.
> help
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index b2024db225a9..6c684d8c8816 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -115,6 +115,7 @@ config ARM64
> select SPARSE_IRQ
> select SYSCTL_EXCEPTION_TRACE
> select THREAD_INFO_IN_TASK
> + select PCI_GENERIC_SETUP
> help
> ARM 64-bit (AArch64) Linux support.
>
> diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
> index d140206d5d29..c16214344f1c 100644
> --- a/arch/m68k/Kconfig
> +++ b/arch/m68k/Kconfig
> @@ -22,6 +22,7 @@ config M68K
> select MODULES_USE_ELF_RELA
> select OLD_SIGSUSPEND3
> select OLD_SIGACTION
> + select PCI_GENERIC_SETUP
>
> config RWSEM_GENERIC_SPINLOCK
> bool
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index 2828ecde133d..474a7c710686 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -70,6 +70,7 @@ config MIPS
> select HAVE_EXIT_THREAD
> select HAVE_REGS_AND_STACK_ACCESS_API
> select HAVE_COPY_THREAD_TLS
> + select PCI_GENERIC_SETUP
>
> menu "Machine selection"
>
> diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
> index ee086958b2b2..90a98ac526fb 100644
> --- a/arch/sh/Kconfig
> +++ b/arch/sh/Kconfig
> @@ -48,6 +48,7 @@ config SUPERH
> select HAVE_ARCH_AUDITSYSCALL
> select HAVE_FUTEX_CMPXCHG if FUTEX
> select HAVE_NMI
> + select PCI_GENERIC_SETUP
> help
> The SuperH is a RISC processor targeted for use in embedded systems
> and consumer electronics; it was also used in the Sega Dreamcast
> diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
> index 5639c9fe5b55..24cea64104bd 100644
> --- a/arch/sparc/Kconfig
> +++ b/arch/sparc/Kconfig
> @@ -424,6 +424,7 @@ config SPARC_LEON
> depends on SPARC32
> select USB_EHCI_BIG_ENDIAN_MMIO
> select USB_EHCI_BIG_ENDIAN_DESC
> + select PCI_GENERIC_SETUP
> ---help---
> If you say Y here if you are running on a SPARC-LEON processor.
> The LEON processor is a synthesizable VHDL model of the
> diff --git a/arch/tile/Kconfig b/arch/tile/Kconfig
> index 4583c0320059..6679af85a882 100644
> --- a/arch/tile/Kconfig
> +++ b/arch/tile/Kconfig
> @@ -33,6 +33,7 @@ config TILE
> select USER_STACKTRACE_SUPPORT
> select USE_PMC if PERF_EVENTS
> select VIRT_TO_BUS
> + select PCI_GENERIC_SETUP
>
> config MMU
> def_bool y
> diff --git a/arch/unicore32/Kconfig b/arch/unicore32/Kconfig
> index 0769066929c6..162a7d3def0c 100644
> --- a/arch/unicore32/Kconfig
> +++ b/arch/unicore32/Kconfig
> @@ -18,6 +18,7 @@ config UNICORE32
> select ARCH_WANT_FRAME_POINTERS
> select GENERIC_IOMAP
> select MODULES_USE_ELF_REL
> + select PCI_GENERIC_SETUP
> help
> UniCore-32 is 32-bit Instruction Set Architecture,
> including a series of low-power-consumption RISC chip
> diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
> index e0cacb7b8563..658c9f95ab3f 100644
> --- a/drivers/pci/Kconfig
> +++ b/drivers/pci/Kconfig
> @@ -131,6 +131,9 @@ config PCI_HYPERV
> The PCI device frontend driver allows the kernel to import arbitrary
> PCI devices from a PCI backend to support PCI driver domains.
>
> +config PCI_GENERIC_SETUP
> + def_bool n
> +
> source "drivers/pci/hotplug/Kconfig"
> source "drivers/pci/dwc/Kconfig"
> source "drivers/pci/host/Kconfig"
> diff --git a/drivers/pci/Makefile b/drivers/pci/Makefile
> index 462c1f5f5546..26f4710c88ec 100644
> --- a/drivers/pci/Makefile
> +++ b/drivers/pci/Makefile
> @@ -31,16 +31,7 @@ obj-$(CONFIG_PCI_IOV) += iov.o
> #
> # Some architectures use the generic PCI setup functions
> #
> -obj-$(CONFIG_ALPHA) += setup-irq.o
> -obj-$(CONFIG_ARC) += setup-irq.o
> -obj-$(CONFIG_ARM) += setup-irq.o
> -obj-$(CONFIG_ARM64) += setup-irq.o
> -obj-$(CONFIG_UNICORE32) += setup-irq.o
> -obj-$(CONFIG_SUPERH) += setup-irq.o
> -obj-$(CONFIG_MIPS) += setup-irq.o
> -obj-$(CONFIG_TILE) += setup-irq.o
> -obj-$(CONFIG_SPARC_LEON) += setup-irq.o
> -obj-$(CONFIG_M68K) += setup-irq.o
> +obj-$(CONFIG_PCI_GENERIC_SETUP) += setup-irq.o
>
> #
> # ACPI Related PCI FW Functions
> --
> 2.13.0
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

2017-06-28 00:14:32

by Palmer Dabbelt

[permalink] [raw]
Subject: Re: [PATCH] pci: Add and use PCI_GENERIC_SETUP Kconfig entry

On Tue, 27 Jun 2017 16:37:40 PDT (-0700), [email protected] wrote:
> [+cc Lorenzo]
>
> Hi Palmer,
>
> On Fri, Jun 23, 2017 at 02:45:38PM -0700, Palmer Dabbelt wrote:
>> We wanted to add RISC-V to the list of architectures that used the
>> generic PCI setup-irq.o inside the Makefile and it was suggested that
>> instead we define a Kconfig entry and use that.
>>
>> I've done very minimal testing on this: I just checked to see that
>> an aarch64 defconfig still build setup-irq.o with the patch applied.
>> The intention is that this patch doesn't change the behavior of any
>> build.
>>
>> Signed-off-by: Palmer Dabbelt <[email protected]>
>
> Lorenzo Pieralisi's "ARM/ARM64: remove pci_fixup_irqs() usage" series
> overlaps with this quite a bit, and includes this patch:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/commit/?h=pci/enumeration&id=5b64036feff4
>
> which makes it so we build setup-irq.o on *all* arches. Can you check
> out the pci/enumeration branch and see whether it accomplishes what
> you need?
>
> https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=pci/enumeration

Great, that's even better for me, as I don't have to go touch a bunch of
different arch code :). We'll use that instead when it lands.

Thanks!

>
>> ---
>> arch/alpha/Kconfig | 1 +
>> arch/arc/Kconfig | 1 +
>> arch/arm/Kconfig | 1 +
>> arch/arm64/Kconfig | 1 +
>> arch/m68k/Kconfig | 1 +
>> arch/mips/Kconfig | 1 +
>> arch/sh/Kconfig | 1 +
>> arch/sparc/Kconfig | 1 +
>> arch/tile/Kconfig | 1 +
>> arch/unicore32/Kconfig | 1 +
>> drivers/pci/Kconfig | 3 +++
>> drivers/pci/Makefile | 11 +----------
>> 12 files changed, 14 insertions(+), 10 deletions(-)
>>
>> diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
>> index 0e49d39ea74a..30f4e711f681 100644
>> --- a/arch/alpha/Kconfig
>> +++ b/arch/alpha/Kconfig
>> @@ -26,6 +26,7 @@ config ALPHA
>> select ODD_RT_SIGACTION
>> select OLD_SIGSUSPEND
>> select CPU_NO_EFFICIENT_FFS if !ALPHA_EV67
>> + select PCI_GENERIC_SETUP
>> help
>> The Alpha is a 64-bit general-purpose processor designed and
>> marketed by the Digital Equipment Corporation of blessed memory,
>> diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
>> index a5459698f0ee..dd1f64858118 100644
>> --- a/arch/arc/Kconfig
>> +++ b/arch/arc/Kconfig
>> @@ -44,6 +44,7 @@ config ARC
>> select HAVE_GENERIC_DMA_COHERENT
>> select HAVE_KERNEL_GZIP
>> select HAVE_KERNEL_LZMA
>> + select PCI_GENERIC_SETUP
>>
>> config MIGHT_HAVE_PCI
>> bool
>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
>> index 4c1a35f15838..86872246951c 100644
>> --- a/arch/arm/Kconfig
>> +++ b/arch/arm/Kconfig
>> @@ -96,6 +96,7 @@ config ARM
>> select PERF_USE_VMALLOC
>> select RTC_LIB
>> select SYS_SUPPORTS_APM_EMULATION
>> + select PCI_GENERIC_SETUP
>> # Above selects are sorted alphabetically; please add new ones
>> # according to that. Thanks.
>> help
>> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
>> index b2024db225a9..6c684d8c8816 100644
>> --- a/arch/arm64/Kconfig
>> +++ b/arch/arm64/Kconfig
>> @@ -115,6 +115,7 @@ config ARM64
>> select SPARSE_IRQ
>> select SYSCTL_EXCEPTION_TRACE
>> select THREAD_INFO_IN_TASK
>> + select PCI_GENERIC_SETUP
>> help
>> ARM 64-bit (AArch64) Linux support.
>>
>> diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
>> index d140206d5d29..c16214344f1c 100644
>> --- a/arch/m68k/Kconfig
>> +++ b/arch/m68k/Kconfig
>> @@ -22,6 +22,7 @@ config M68K
>> select MODULES_USE_ELF_RELA
>> select OLD_SIGSUSPEND3
>> select OLD_SIGACTION
>> + select PCI_GENERIC_SETUP
>>
>> config RWSEM_GENERIC_SPINLOCK
>> bool
>> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
>> index 2828ecde133d..474a7c710686 100644
>> --- a/arch/mips/Kconfig
>> +++ b/arch/mips/Kconfig
>> @@ -70,6 +70,7 @@ config MIPS
>> select HAVE_EXIT_THREAD
>> select HAVE_REGS_AND_STACK_ACCESS_API
>> select HAVE_COPY_THREAD_TLS
>> + select PCI_GENERIC_SETUP
>>
>> menu "Machine selection"
>>
>> diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
>> index ee086958b2b2..90a98ac526fb 100644
>> --- a/arch/sh/Kconfig
>> +++ b/arch/sh/Kconfig
>> @@ -48,6 +48,7 @@ config SUPERH
>> select HAVE_ARCH_AUDITSYSCALL
>> select HAVE_FUTEX_CMPXCHG if FUTEX
>> select HAVE_NMI
>> + select PCI_GENERIC_SETUP
>> help
>> The SuperH is a RISC processor targeted for use in embedded systems
>> and consumer electronics; it was also used in the Sega Dreamcast
>> diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
>> index 5639c9fe5b55..24cea64104bd 100644
>> --- a/arch/sparc/Kconfig
>> +++ b/arch/sparc/Kconfig
>> @@ -424,6 +424,7 @@ config SPARC_LEON
>> depends on SPARC32
>> select USB_EHCI_BIG_ENDIAN_MMIO
>> select USB_EHCI_BIG_ENDIAN_DESC
>> + select PCI_GENERIC_SETUP
>> ---help---
>> If you say Y here if you are running on a SPARC-LEON processor.
>> The LEON processor is a synthesizable VHDL model of the
>> diff --git a/arch/tile/Kconfig b/arch/tile/Kconfig
>> index 4583c0320059..6679af85a882 100644
>> --- a/arch/tile/Kconfig
>> +++ b/arch/tile/Kconfig
>> @@ -33,6 +33,7 @@ config TILE
>> select USER_STACKTRACE_SUPPORT
>> select USE_PMC if PERF_EVENTS
>> select VIRT_TO_BUS
>> + select PCI_GENERIC_SETUP
>>
>> config MMU
>> def_bool y
>> diff --git a/arch/unicore32/Kconfig b/arch/unicore32/Kconfig
>> index 0769066929c6..162a7d3def0c 100644
>> --- a/arch/unicore32/Kconfig
>> +++ b/arch/unicore32/Kconfig
>> @@ -18,6 +18,7 @@ config UNICORE32
>> select ARCH_WANT_FRAME_POINTERS
>> select GENERIC_IOMAP
>> select MODULES_USE_ELF_REL
>> + select PCI_GENERIC_SETUP
>> help
>> UniCore-32 is 32-bit Instruction Set Architecture,
>> including a series of low-power-consumption RISC chip
>> diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
>> index e0cacb7b8563..658c9f95ab3f 100644
>> --- a/drivers/pci/Kconfig
>> +++ b/drivers/pci/Kconfig
>> @@ -131,6 +131,9 @@ config PCI_HYPERV
>> The PCI device frontend driver allows the kernel to import arbitrary
>> PCI devices from a PCI backend to support PCI driver domains.
>>
>> +config PCI_GENERIC_SETUP
>> + def_bool n
>> +
>> source "drivers/pci/hotplug/Kconfig"
>> source "drivers/pci/dwc/Kconfig"
>> source "drivers/pci/host/Kconfig"
>> diff --git a/drivers/pci/Makefile b/drivers/pci/Makefile
>> index 462c1f5f5546..26f4710c88ec 100644
>> --- a/drivers/pci/Makefile
>> +++ b/drivers/pci/Makefile
>> @@ -31,16 +31,7 @@ obj-$(CONFIG_PCI_IOV) += iov.o
>> #
>> # Some architectures use the generic PCI setup functions
>> #
>> -obj-$(CONFIG_ALPHA) += setup-irq.o
>> -obj-$(CONFIG_ARC) += setup-irq.o
>> -obj-$(CONFIG_ARM) += setup-irq.o
>> -obj-$(CONFIG_ARM64) += setup-irq.o
>> -obj-$(CONFIG_UNICORE32) += setup-irq.o
>> -obj-$(CONFIG_SUPERH) += setup-irq.o
>> -obj-$(CONFIG_MIPS) += setup-irq.o
>> -obj-$(CONFIG_TILE) += setup-irq.o
>> -obj-$(CONFIG_SPARC_LEON) += setup-irq.o
>> -obj-$(CONFIG_M68K) += setup-irq.o
>> +obj-$(CONFIG_PCI_GENERIC_SETUP) += setup-irq.o
>>
>> #
>> # ACPI Related PCI FW Functions
>> --
>> 2.13.0
>>
>>
>> _______________________________________________
>> linux-arm-kernel mailing list
>> [email protected]
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel