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

2017-06-27 Thread Palmer Dabbelt
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

2017-06-27 Thread Bjorn Helgaas
[+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

2017-06-27 Thread Ralf Baechle
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

2017-06-26 Thread Palmer Dabbelt
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

2017-06-26 Thread Palmer Dabbelt
>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

2017-06-26 Thread Geert Uytterhoeven
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

2017-06-25 Thread kbuild test robot
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

2017-06-24 Thread Richard Henderson

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

2017-06-24 Thread Russell King - ARM Linux
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

2017-06-24 Thread Russell King - ARM Linux
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

2017-06-23 Thread Palmer Dabbelt
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

2017-06-23 Thread Palmer Dabbelt
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

2017-06-23 Thread James Hogan
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

2017-06-23 Thread Palmer Dabbelt
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