openrisc: Add pci bus support
authorStafford Horne <shorne@gmail.com>
Sat, 11 Jun 2022 23:42:33 +0000 (08:42 +0900)
committerStafford Horne <shorne@gmail.com>
Fri, 29 Jul 2022 20:50:15 +0000 (05:50 +0900)
This patch adds required definitions to allow for PCI buses on OpenRISC.
This is being tested on the OpenRISC QEMU virt platform which is in
development.

OpenRISC does not have IO ports so we keep the definition of
IO_SPACE_LIMIT and PIO_RESERVED to be 0.

Note, since commit 66bcd06099bb ("parport_pc: Also enable driver for PCI
systems") all platforms that support PCI also need to support parallel
port.  We add a generic header to support compiling parallel port
drivers, though they generally will not work as they require IO ports.

Signed-off-by: Stafford Horne <shorne@gmail.com>
arch/openrisc/Kconfig
arch/openrisc/include/asm/Kbuild
arch/openrisc/include/asm/io.h

index e814df4c483ce1eb6949bc04a7245ef5d2bcfd0c..c7f282f60f64c51beb2435c17ae950a67135f7ba 100644 (file)
@@ -20,8 +20,9 @@ config OPENRISC
        select GENERIC_IRQ_CHIP
        select GENERIC_IRQ_PROBE
        select GENERIC_IRQ_SHOW
-       select GENERIC_IOMAP
+       select GENERIC_PCI_IOMAP
        select GENERIC_CPU_DEVICES
+       select HAVE_PCI
        select HAVE_UID16
        select GENERIC_ATOMIC64
        select GENERIC_CLOCKEVENTS_BROADCAST
@@ -32,6 +33,8 @@ config OPENRISC
        select CPU_NO_EFFICIENT_FFS if !OPENRISC_HAVE_INST_FF1
        select ARCH_USE_QUEUED_RWLOCKS
        select OMPIC if SMP
+       select PCI_DOMAINS_GENERIC if PCI
+       select PCI_MSI if PCI
        select ARCH_WANT_FRAME_POINTERS
        select GENERIC_IRQ_MULTI_HANDLER
        select MMU_GATHER_NO_RANGE if MMU
index 3386b9c1c073a9ef5d4fc5d47d3307b08c092381..c8c99b554ca4c4838870948acad06bfb83f0668c 100644 (file)
@@ -1,6 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 generic-y += extable.h
 generic-y += kvm_para.h
+generic-y += parport.h
 generic-y += spinlock_types.h
 generic-y += spinlock.h
 generic-y += qrwlock_types.h
index c298061c70a7ee2ed6b1a71db0d5399164e45a11..625ac6ad120513bc6bf50b3cac1a1e62a9911c95 100644 (file)
@@ -17,7 +17,7 @@
 #include <linux/types.h>
 
 /*
- * PCI: can we really do 0 here if we have no port IO?
+ * PCI: We do not use IO ports in OpenRISC
  */
 #define IO_SPACE_LIMIT         0