Skip to content

Commit

Permalink
PCI: consolidate PCI config entry in drivers/pci
Browse files Browse the repository at this point in the history
There is no good reason to duplicate the PCI menu in every architecture.
Instead provide a selectable HAVE_PCI symbol that indicates availability
of PCI support, and a FORCE_PCI symbol to for PCI on and the handle the
rest in drivers/pci.

Signed-off-by: Christoph Hellwig <[email protected]>
Reviewed-by: Palmer Dabbelt <[email protected]>
Acked-by: Max Filippov <[email protected]>
Acked-by: Thomas Gleixner <[email protected]>
Acked-by: Bjorn Helgaas <[email protected]>
Acked-by: Geert Uytterhoeven <[email protected]>
Acked-by: Paul Burton <[email protected]>
Signed-off-by: Masahiro Yamada <[email protected]>
  • Loading branch information
Christoph Hellwig authored and masahir0y committed Nov 23, 2018
1 parent 437f2b8 commit eb01d42
Show file tree
Hide file tree
Showing 69 changed files with 195 additions and 377 deletions.
14 changes: 2 additions & 12 deletions arch/alpha/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ config ALPHA
select ARCH_MIGHT_HAVE_PC_SERIO
select ARCH_NO_PREEMPT
select ARCH_USE_CMPXCHG_LOCKREF
select FORCE_PCI if !ALPHA_JENSEN
select HAVE_AOUT
select HAVE_IDE
select HAVE_OPROFILE
Expand All @@ -15,6 +16,7 @@ config ALPHA
select NEED_SG_DMA_LENGTH
select VIRT_TO_BUS
select GENERIC_IRQ_PROBE
select GENERIC_PCI_IOMAP if PCI
select AUTO_IRQ_AFFINITY if SMP
select GENERIC_IRQ_SHOW
select ARCH_WANT_IPC_PARSE_VERSION
Expand Down Expand Up @@ -319,17 +321,6 @@ config ISA_DMA_API
bool
default y

config PCI
bool
depends on !ALPHA_JENSEN
select GENERIC_PCI_IOMAP
default y
help
Find out whether you have a PCI motherboard. PCI is the name of a
bus system, i.e. the way the CPU talks to the other stuff inside
your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
VESA. If you have PCI, say Y, otherwise N.

config PCI_DOMAINS
bool
default y
Expand Down Expand Up @@ -681,7 +672,6 @@ config HZ
default 1200 if HZ_1200
default 1024

source "drivers/pci/Kconfig"
source "drivers/eisa/Kconfig"

source "drivers/pcmcia/Kconfig"
Expand Down
20 changes: 0 additions & 20 deletions arch/arc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,6 @@ config ARC
config ARCH_HAS_CACHE_LINE_SIZE
def_bool y

config MIGHT_HAVE_PCI
bool

config TRACE_IRQFLAGS_SUPPORT
def_bool y

Expand Down Expand Up @@ -553,24 +550,7 @@ config FORCE_MAX_ZONEORDER
default "12" if ARC_HUGEPAGE_16M
default "11"

menu "Bus Support"

config PCI
bool "PCI support" if MIGHT_HAVE_PCI
help
PCI is the name of a bus system, i.e., the way the CPU talks to
the other stuff inside your box. Find out if your board/platform
has PCI.

Note: PCIe support for Synopsys Device will be available only
when HAPS DX is configured with PCIe RC bitmap. If you have PCI,
say Y, otherwise N.

config PCI_SYSCALL
def_bool PCI

source "drivers/pci/Kconfig"

endmenu

source "kernel/power/Kconfig"
2 changes: 1 addition & 1 deletion arch/arc/plat-axs10x/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ menuconfig ARC_PLAT_AXS10X
select DW_APB_ICTL
select GPIO_DWAPB
select OF_GPIO
select MIGHT_HAVE_PCI
select HAVE_PCI
select GENERIC_IRQ_CHIP
select GPIOLIB
select AXS101 if ISA_ARCOMPACT
Expand Down
2 changes: 1 addition & 1 deletion arch/arc/plat-hsdk/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ menuconfig ARC_SOC_HSDK
select ARC_HAS_ACCL_REGS
select CLK_HSDK
select RESET_HSDK
select MIGHT_HAVE_PCI
select HAVE_PCI
25 changes: 6 additions & 19 deletions arch/arm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -147,9 +147,6 @@ config ARM_DMA_IOMMU_ALIGNMENT

endif

config MIGHT_HAVE_PCI
bool

config SYS_SUPPORTS_APM_EMULATION
bool

Expand Down Expand Up @@ -333,7 +330,7 @@ config ARCH_MULTIPLATFORM
select COMMON_CLK
select GENERIC_CLOCKEVENTS
select GENERIC_IRQ_MULTI_HANDLER
select MIGHT_HAVE_PCI
select HAVE_PCI
select PCI_DOMAINS if PCI
select SPARSE_IRQ
select USE_OF
Expand Down Expand Up @@ -407,7 +404,7 @@ config ARCH_IOP13XX
select CPU_XSC3
select NEED_MACH_MEMORY_H
select NEED_RET_TO_USER
select PCI
select FORCE_PCI
select PLAT_IOP
select VMSPLIT_1G
select SPARSE_IRQ
Expand All @@ -421,7 +418,7 @@ config ARCH_IOP32X
select GPIO_IOP
select GPIOLIB
select NEED_RET_TO_USER
select PCI
select FORCE_PCI
select PLAT_IOP
help
Support for Intel's 80219 and IOP32X (XScale) family of
Expand All @@ -434,7 +431,7 @@ config ARCH_IOP33X
select GPIO_IOP
select GPIOLIB
select NEED_RET_TO_USER
select PCI
select FORCE_PCI
select PLAT_IOP
help
Support for Intel's IOP33X (XScale) family of processors.
Expand All @@ -449,7 +446,7 @@ config ARCH_IXP4XX
select DMABOUNCE if PCI
select GENERIC_CLOCKEVENTS
select GPIOLIB
select MIGHT_HAVE_PCI
select HAVE_PCI
select NEED_MACH_IO_H
select USB_EHCI_BIG_ENDIAN_DESC
select USB_EHCI_BIG_ENDIAN_MMIO
Expand All @@ -462,7 +459,7 @@ config ARCH_DOVE
select GENERIC_CLOCKEVENTS
select GENERIC_IRQ_MULTI_HANDLER
select GPIOLIB
select MIGHT_HAVE_PCI
select HAVE_PCI
select MVEBU_MBUS
select PINCTRL
select PINCTRL_DOVE
Expand Down Expand Up @@ -1230,14 +1227,6 @@ config ISA_DMA
config ISA_DMA_API
bool

config PCI
bool "PCI support" if MIGHT_HAVE_PCI
help
Find out whether you have a PCI motherboard. PCI is the name of a
bus system, i.e. the way the CPU talks to the other stuff inside
your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
VESA. If you have PCI, say Y, otherwise N.

config PCI_DOMAINS
bool "Support for multiple PCI domains"
depends on PCI
Expand Down Expand Up @@ -1266,8 +1255,6 @@ config PCI_HOST_ITE8152
default y
select DMABOUNCE

source "drivers/pci/Kconfig"

source "drivers/pcmcia/Kconfig"

endmenu
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/mach-alpine/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ config ARCH_ALPINE
select HAVE_ARM_ARCH_TIMER
select HAVE_SMP
select MFD_SYSCON
select PCI
select FORCE_PCI
select PCI_HOST_GENERIC
help
This enables support for the Annapurna Labs Alpine V1 boards.
8 changes: 4 additions & 4 deletions arch/arm/mach-footbridge/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ config ARCH_CATS
select FOOTBRIDGE_HOST
select ISA
select ISA_DMA
select PCI
select FORCE_PCI
help
Say Y here if you intend to run this kernel on the CATS.

Expand All @@ -20,7 +20,7 @@ config ARCH_PERSONAL_SERVER
select FOOTBRIDGE_HOST
select ISA
select ISA_DMA
select PCI
select FORCE_PCI
---help---
Say Y here if you intend to run this kernel on the Compaq
Personal Server.
Expand Down Expand Up @@ -53,7 +53,7 @@ config ARCH_EBSA285_HOST
select ISA
select ISA_DMA
select ARCH_MAY_HAVE_PC_FDC
select PCI
select FORCE_PCI
help
Say Y here if you intend to run this kernel on the EBSA285 card
in host ("central function") mode.
Expand All @@ -67,7 +67,7 @@ config ARCH_NETWINDER
select FOOTBRIDGE_HOST
select ISA
select ISA_DMA
select PCI
select FORCE_PCI
help
Say Y here if you intend to run this kernel on the Rebel.COM
NetWinder. Information about this machine can be found at:
Expand Down
22 changes: 11 additions & 11 deletions arch/arm/mach-ixp4xx/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ comment "IXP4xx Platforms"
config MACH_NSLU2
bool
prompt "Linksys NSLU2"
select PCI
select FORCE_PCI
help
Say 'Y' here if you want your kernel to support Linksys's
NSLU2 NAS device. For more information on this platform,
see http://www.nslu2-linux.org

config MACH_AVILA
bool "Avila"
select PCI
select FORCE_PCI
help
Say 'Y' here if you want your kernel to support the Gateworks
Avila Network Platform. For more information on this platform,
Expand All @@ -31,23 +31,23 @@ config MACH_LOFT

config ARCH_ADI_COYOTE
bool "Coyote"
select PCI
select FORCE_PCI
help
Say 'Y' here if you want your kernel to support the ADI
Engineering Coyote Gateway Reference Platform. For more
information on this platform, see <file:Documentation/arm/IXP4xx>.

config MACH_GATEWAY7001
bool "Gateway 7001"
select PCI
select FORCE_PCI
help
Say 'Y' here if you want your kernel to support Gateway's
7001 Access Point. For more information on this platform,
see http://openwrt.org

config MACH_WG302V2
bool "Netgear WG302 v2 / WAG302 v2"
select PCI
select FORCE_PCI
help
Say 'Y' here if you want your kernel to support Netgear's
WG302 v2 or WAG302 v2 Access Points. For more information
Expand Down Expand Up @@ -107,7 +107,7 @@ config ARCH_PRPMC1100
config MACH_NAS100D
bool
prompt "NAS100D"
select PCI
select FORCE_PCI
help
Say 'Y' here if you want your kernel to support Iomega's
NAS 100d device. For more information on this platform,
Expand All @@ -116,7 +116,7 @@ config MACH_NAS100D
config MACH_DSMG600
bool
prompt "D-Link DSM-G600 RevA"
select PCI
select FORCE_PCI
help
Say 'Y' here if you want your kernel to support D-Link's
DSM-G600 RevA device. For more information on this platform,
Expand All @@ -130,7 +130,7 @@ config ARCH_IXDP4XX
config MACH_FSG
bool
prompt "Freecom FSG-3"
select PCI
select FORCE_PCI
help
Say 'Y' here if you want your kernel to support Freecom's
FSG-3 device. For more information on this platform,
Expand All @@ -139,7 +139,7 @@ config MACH_FSG
config MACH_ARCOM_VULCAN
bool
prompt "Arcom/Eurotech Vulcan"
select PCI
select FORCE_PCI
help
Say 'Y' here if you want your kernel to support Arcom's
Vulcan board.
Expand All @@ -160,7 +160,7 @@ config CPU_IXP43X
config MACH_GTWX5715
bool "Gemtek WX5715 (Linksys WRV54G)"
depends on ARCH_IXP4XX
select PCI
select FORCE_PCI
help
This board is currently inside the Linksys WRV54G Gateways.

Expand All @@ -183,7 +183,7 @@ config MACH_DEVIXP

config MACH_MICCPT
bool "Omicron MICCPT"
select PCI
select FORCE_PCI
help
Say 'Y' here if you want your kernel to support the MICCPT
board from OMICRON electronics GmbH.
Expand Down
10 changes: 5 additions & 5 deletions arch/arm/mach-ks8695/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ menu "Kendin/Micrel KS8695 Implementations"

config MACH_KS8695
bool "KS8695 development board"
select MIGHT_HAVE_PCI
select HAVE_PCI
help
Say 'Y' here if you want your kernel to run on the original
Kendin-Micrel KS8695 development board.
Expand Down Expand Up @@ -52,31 +52,31 @@ config MACH_CM4002

config MACH_CM4008
bool "OpenGear CM4008"
select MIGHT_HAVE_PCI
select HAVE_PCI
help
Say 'Y' here if you want your kernel to support the OpenGear
CM4008 Console Server. See http://www.opengear.com for more
details.

config MACH_CM41xx
bool "OpenGear CM41xx"
select MIGHT_HAVE_PCI
select HAVE_PCI
help
Say 'Y' here if you want your kernel to support the OpenGear
CM4016 or CM4048 Console Servers. See http://www.opengear.com for
more details.

config MACH_IM4004
bool "OpenGear IM4004"
select MIGHT_HAVE_PCI
select HAVE_PCI
help
Say 'Y' here if you want your kernel to support the OpenGear
IM4004 Secure Access Server. See http://www.opengear.com for
more details.

config MACH_IM42xx
bool "OpenGear IM42xx"
select MIGHT_HAVE_PCI
select HAVE_PCI
help
Say 'Y' here if you want your kernel to support the OpenGear
IM4216 or IM4248 Console Servers. See http://www.opengear.com for
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/mach-mv78xx0/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ menuconfig ARCH_MV78XX0
select CPU_FEROCEON
select GPIOLIB
select MVEBU_MBUS
select PCI
select FORCE_PCI
select PLAT_ORION_LEGACY
help
Support for the following Marvell MV78xx0 series SoCs:
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/mach-mvebu/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ config MACH_KIRKWOOD
select MACH_MVEBU_ANY
select ORION_IRQCHIP
select ORION_TIMER
select PCI
select FORCE_PCI
select PCI_QUIRKS
select PINCTRL_KIRKWOOD
help
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/mach-orion5x/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ menuconfig ARCH_ORION5X
select GENERIC_CLOCKEVENTS
select GPIOLIB
select MVEBU_MBUS
select PCI
select FORCE_PCI
select PHYLIB if NETDEVICES
select PLAT_ORION_LEGACY
help
Expand Down
Loading

0 comments on commit eb01d42

Please sign in to comment.