Re: [PATCH] pci: Add and use PCI_GENERIC_SETUP Kconfig entry
On Tue, 27 Jun 2017 16:37:40 PDT (-0700), helg...@kernel.org 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 > > 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 y
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 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 TI
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 Thanks, Ralf
[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 Reviewed-by: James Hogan Acked-by: Russell King Acked-by: Richard Henderson Acked-by: Vineet Gupta[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
Re: [PATCH] pci: Add and use PCI_GENERIC_SETUP Kconfig entry
>On Mon, Jun 26, 2017 at 7:39 AM, kbuild test robot 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.
Re: [PATCH] pci: Add and use PCI_GENERIC_SETUP Kconfig entry
On Mon, Jun 26, 2017 at 7:39 AM, kbuild test robot 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 -- ge...@linux-m68k.org 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
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 infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
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 Reviewed-by: James Hogan --- arch/alpha/Kconfig | 1 + Acked-by: Richard Henderson r~
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 Looks fine from an ARM point of view, thanks. Acked-by: Russell King > 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.
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.
[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 Reviewed-by: James Hogan --- 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-consu
Re: [PATCH] pci: Add and use PCI_GENERIC_SETUP Kconfig entry
On Fri, 23 Jun 2017 15:01:04 PDT (-0700), james.ho...@imgtec.com 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 Whoops -- I guess I was just on autopilot after seeing the first one not be alphabetized. A fixed patch is in a threaded message.
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 Cheers James signature.asc Description: Digital signature
[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 --- 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..658c