summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2018-11-15 14:05:32 -0500
committerMasahiro Yamada <yamada.masahiro@socionext.com>2018-11-22 21:45:34 -0500
commiteb01d42a77785ff96b6e66a2a2e7027fc6d78e4a (patch)
tree0f3c88c8483ddf584f07f78111c8e0709a29fbe5
parent437f2b8c20858a9a27fed4066ed679f92b982f38 (diff)
PCI: consolidate PCI config entry in drivers/pci
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 <hch@lst.de> Reviewed-by: Palmer Dabbelt <palmer@sifive.com> Acked-by: Max Filippov <jcmvbkbc@gmail.com> Acked-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Paul Burton <paul.burton@mips.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
-rw-r--r--arch/alpha/Kconfig14
-rw-r--r--arch/arc/Kconfig20
-rw-r--r--arch/arc/plat-axs10x/Kconfig2
-rw-r--r--arch/arc/plat-hsdk/Kconfig2
-rw-r--r--arch/arm/Kconfig25
-rw-r--r--arch/arm/mach-alpine/Kconfig2
-rw-r--r--arch/arm/mach-footbridge/Kconfig8
-rw-r--r--arch/arm/mach-ixp4xx/Kconfig22
-rw-r--r--arch/arm/mach-ks8695/Kconfig10
-rw-r--r--arch/arm/mach-mv78xx0/Kconfig2
-rw-r--r--arch/arm/mach-mvebu/Kconfig2
-rw-r--r--arch/arm/mach-orion5x/Kconfig2
-rw-r--r--arch/arm/mach-pxa/Kconfig2
-rw-r--r--arch/arm/mach-sa1100/Kconfig2
-rw-r--r--arch/arm64/Kconfig14
-rw-r--r--arch/hexagon/Kconfig3
-rw-r--r--arch/ia64/Kconfig10
-rw-r--r--arch/m68k/Kconfig.bus11
-rw-r--r--arch/m68k/Kconfig.cpu1
-rw-r--r--arch/microblaze/Kconfig6
-rw-r--r--arch/mips/Kconfig44
-rw-r--r--arch/mips/alchemy/Kconfig6
-rw-r--r--arch/mips/ath25/Kconfig3
-rw-r--r--arch/mips/ath79/Kconfig8
-rw-r--r--arch/mips/bcm63xx/Kconfig14
-rw-r--r--arch/mips/lantiq/Kconfig2
-rw-r--r--arch/mips/loongson64/Kconfig7
-rw-r--r--arch/mips/pmcs-msp71xx/Kconfig10
-rw-r--r--arch/mips/ralink/Kconfig8
-rw-r--r--arch/mips/sibyte/Kconfig10
-rw-r--r--arch/mips/txx9/Kconfig8
-rw-r--r--arch/mips/vr41xx/Kconfig8
-rw-r--r--arch/parisc/Kconfig1
-rw-r--r--arch/powerpc/Kconfig20
-rw-r--r--arch/powerpc/platforms/40x/Kconfig10
-rw-r--r--arch/powerpc/platforms/44x/Kconfig32
-rw-r--r--arch/powerpc/platforms/512x/Kconfig2
-rw-r--r--arch/powerpc/platforms/52xx/Kconfig2
-rw-r--r--arch/powerpc/platforms/83xx/Kconfig2
-rw-r--r--arch/powerpc/platforms/85xx/Kconfig2
-rw-r--r--arch/powerpc/platforms/86xx/Kconfig4
-rw-r--r--arch/powerpc/platforms/Kconfig2
-rw-r--r--arch/powerpc/platforms/Kconfig.cputype4
-rw-r--r--arch/powerpc/platforms/amigaone/Kconfig2
-rw-r--r--arch/powerpc/platforms/cell/Kconfig2
-rw-r--r--arch/powerpc/platforms/chrp/Kconfig2
-rw-r--r--arch/powerpc/platforms/embedded6xx/Kconfig4
-rw-r--r--arch/powerpc/platforms/maple/Kconfig2
-rw-r--r--arch/powerpc/platforms/pasemi/Kconfig2
-rw-r--r--arch/powerpc/platforms/powermac/Kconfig2
-rw-r--r--arch/powerpc/platforms/powernv/Kconfig2
-rw-r--r--arch/powerpc/platforms/ps3/Kconfig2
-rw-r--r--arch/powerpc/platforms/pseries/Kconfig2
-rw-r--r--arch/riscv/Kconfig18
-rw-r--r--arch/s390/Kconfig19
-rw-r--r--arch/sh/Kconfig19
-rw-r--r--arch/sh/boards/Kconfig30
-rw-r--r--arch/sparc/Kconfig15
-rw-r--r--arch/um/Kconfig3
-rw-r--r--arch/unicore32/Kconfig11
-rw-r--r--arch/x86/Kconfig12
-rw-r--r--arch/x86/configs/i386_defconfig1
-rw-r--r--arch/x86/configs/x86_64_defconfig1
-rw-r--r--arch/xtensa/Kconfig16
-rw-r--r--arch/xtensa/configs/common_defconfig1
-rw-r--r--drivers/Kconfig4
-rw-r--r--drivers/parisc/Kconfig11
-rw-r--r--drivers/pci/Kconfig18
-rw-r--r--drivers/pci/endpoint/Kconfig2
69 files changed, 195 insertions, 377 deletions
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index 5b4f88363453..ef6ea8171994 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -6,6 +6,7 @@ config ALPHA
6 select ARCH_MIGHT_HAVE_PC_SERIO 6 select ARCH_MIGHT_HAVE_PC_SERIO
7 select ARCH_NO_PREEMPT 7 select ARCH_NO_PREEMPT
8 select ARCH_USE_CMPXCHG_LOCKREF 8 select ARCH_USE_CMPXCHG_LOCKREF
9 select FORCE_PCI if !ALPHA_JENSEN
9 select HAVE_AOUT 10 select HAVE_AOUT
10 select HAVE_IDE 11 select HAVE_IDE
11 select HAVE_OPROFILE 12 select HAVE_OPROFILE
@@ -15,6 +16,7 @@ config ALPHA
15 select NEED_SG_DMA_LENGTH 16 select NEED_SG_DMA_LENGTH
16 select VIRT_TO_BUS 17 select VIRT_TO_BUS
17 select GENERIC_IRQ_PROBE 18 select GENERIC_IRQ_PROBE
19 select GENERIC_PCI_IOMAP if PCI
18 select AUTO_IRQ_AFFINITY if SMP 20 select AUTO_IRQ_AFFINITY if SMP
19 select GENERIC_IRQ_SHOW 21 select GENERIC_IRQ_SHOW
20 select ARCH_WANT_IPC_PARSE_VERSION 22 select ARCH_WANT_IPC_PARSE_VERSION
@@ -319,17 +321,6 @@ config ISA_DMA_API
319 bool 321 bool
320 default y 322 default y
321 323
322config PCI
323 bool
324 depends on !ALPHA_JENSEN
325 select GENERIC_PCI_IOMAP
326 default y
327 help
328 Find out whether you have a PCI motherboard. PCI is the name of a
329 bus system, i.e. the way the CPU talks to the other stuff inside
330 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
331 VESA. If you have PCI, say Y, otherwise N.
332
333config PCI_DOMAINS 324config PCI_DOMAINS
334 bool 325 bool
335 default y 326 default y
@@ -681,7 +672,6 @@ config HZ
681 default 1200 if HZ_1200 672 default 1200 if HZ_1200
682 default 1024 673 default 1024
683 674
684source "drivers/pci/Kconfig"
685source "drivers/eisa/Kconfig" 675source "drivers/eisa/Kconfig"
686 676
687source "drivers/pcmcia/Kconfig" 677source "drivers/pcmcia/Kconfig"
diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
index c9e2a1323536..5d2dde4b04cd 100644
--- a/arch/arc/Kconfig
+++ b/arch/arc/Kconfig
@@ -51,9 +51,6 @@ config ARC
51config ARCH_HAS_CACHE_LINE_SIZE 51config ARCH_HAS_CACHE_LINE_SIZE
52 def_bool y 52 def_bool y
53 53
54config MIGHT_HAVE_PCI
55 bool
56
57config TRACE_IRQFLAGS_SUPPORT 54config TRACE_IRQFLAGS_SUPPORT
58 def_bool y 55 def_bool y
59 56
@@ -553,24 +550,7 @@ config FORCE_MAX_ZONEORDER
553 default "12" if ARC_HUGEPAGE_16M 550 default "12" if ARC_HUGEPAGE_16M
554 default "11" 551 default "11"
555 552
556menu "Bus Support"
557
558config PCI
559 bool "PCI support" if MIGHT_HAVE_PCI
560 help
561 PCI is the name of a bus system, i.e., the way the CPU talks to
562 the other stuff inside your box. Find out if your board/platform
563 has PCI.
564
565 Note: PCIe support for Synopsys Device will be available only
566 when HAPS DX is configured with PCIe RC bitmap. If you have PCI,
567 say Y, otherwise N.
568
569config PCI_SYSCALL 553config PCI_SYSCALL
570 def_bool PCI 554 def_bool PCI
571 555
572source "drivers/pci/Kconfig"
573
574endmenu
575
576source "kernel/power/Kconfig" 556source "kernel/power/Kconfig"
diff --git a/arch/arc/plat-axs10x/Kconfig b/arch/arc/plat-axs10x/Kconfig
index 4e0df7b7a248..27b9eb97a6bf 100644
--- a/arch/arc/plat-axs10x/Kconfig
+++ b/arch/arc/plat-axs10x/Kconfig
@@ -11,7 +11,7 @@ menuconfig ARC_PLAT_AXS10X
11 select DW_APB_ICTL 11 select DW_APB_ICTL
12 select GPIO_DWAPB 12 select GPIO_DWAPB
13 select OF_GPIO 13 select OF_GPIO
14 select MIGHT_HAVE_PCI 14 select HAVE_PCI
15 select GENERIC_IRQ_CHIP 15 select GENERIC_IRQ_CHIP
16 select GPIOLIB 16 select GPIOLIB
17 select AXS101 if ISA_ARCOMPACT 17 select AXS101 if ISA_ARCOMPACT
diff --git a/arch/arc/plat-hsdk/Kconfig b/arch/arc/plat-hsdk/Kconfig
index 9356753c2ed8..f25c085b9874 100644
--- a/arch/arc/plat-hsdk/Kconfig
+++ b/arch/arc/plat-hsdk/Kconfig
@@ -11,4 +11,4 @@ menuconfig ARC_SOC_HSDK
11 select ARC_HAS_ACCL_REGS 11 select ARC_HAS_ACCL_REGS
12 select CLK_HSDK 12 select CLK_HSDK
13 select RESET_HSDK 13 select RESET_HSDK
14 select MIGHT_HAVE_PCI 14 select HAVE_PCI
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 91be74d8df65..50bc67857432 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -147,9 +147,6 @@ config ARM_DMA_IOMMU_ALIGNMENT
147 147
148endif 148endif
149 149
150config MIGHT_HAVE_PCI
151 bool
152
153config SYS_SUPPORTS_APM_EMULATION 150config SYS_SUPPORTS_APM_EMULATION
154 bool 151 bool
155 152
@@ -333,7 +330,7 @@ config ARCH_MULTIPLATFORM
333 select COMMON_CLK 330 select COMMON_CLK
334 select GENERIC_CLOCKEVENTS 331 select GENERIC_CLOCKEVENTS
335 select GENERIC_IRQ_MULTI_HANDLER 332 select GENERIC_IRQ_MULTI_HANDLER
336 select MIGHT_HAVE_PCI 333 select HAVE_PCI
337 select PCI_DOMAINS if PCI 334 select PCI_DOMAINS if PCI
338 select SPARSE_IRQ 335 select SPARSE_IRQ
339 select USE_OF 336 select USE_OF
@@ -407,7 +404,7 @@ config ARCH_IOP13XX
407 select CPU_XSC3 404 select CPU_XSC3
408 select NEED_MACH_MEMORY_H 405 select NEED_MACH_MEMORY_H
409 select NEED_RET_TO_USER 406 select NEED_RET_TO_USER
410 select PCI 407 select FORCE_PCI
411 select PLAT_IOP 408 select PLAT_IOP
412 select VMSPLIT_1G 409 select VMSPLIT_1G
413 select SPARSE_IRQ 410 select SPARSE_IRQ
@@ -421,7 +418,7 @@ config ARCH_IOP32X
421 select GPIO_IOP 418 select GPIO_IOP
422 select GPIOLIB 419 select GPIOLIB
423 select NEED_RET_TO_USER 420 select NEED_RET_TO_USER
424 select PCI 421 select FORCE_PCI
425 select PLAT_IOP 422 select PLAT_IOP
426 help 423 help
427 Support for Intel's 80219 and IOP32X (XScale) family of 424 Support for Intel's 80219 and IOP32X (XScale) family of
@@ -434,7 +431,7 @@ config ARCH_IOP33X
434 select GPIO_IOP 431 select GPIO_IOP
435 select GPIOLIB 432 select GPIOLIB
436 select NEED_RET_TO_USER 433 select NEED_RET_TO_USER
437 select PCI 434 select FORCE_PCI
438 select PLAT_IOP 435 select PLAT_IOP
439 help 436 help
440 Support for Intel's IOP33X (XScale) family of processors. 437 Support for Intel's IOP33X (XScale) family of processors.
@@ -449,7 +446,7 @@ config ARCH_IXP4XX
449 select DMABOUNCE if PCI 446 select DMABOUNCE if PCI
450 select GENERIC_CLOCKEVENTS 447 select GENERIC_CLOCKEVENTS
451 select GPIOLIB 448 select GPIOLIB
452 select MIGHT_HAVE_PCI 449 select HAVE_PCI
453 select NEED_MACH_IO_H 450 select NEED_MACH_IO_H
454 select USB_EHCI_BIG_ENDIAN_DESC 451 select USB_EHCI_BIG_ENDIAN_DESC
455 select USB_EHCI_BIG_ENDIAN_MMIO 452 select USB_EHCI_BIG_ENDIAN_MMIO
@@ -462,7 +459,7 @@ config ARCH_DOVE
462 select GENERIC_CLOCKEVENTS 459 select GENERIC_CLOCKEVENTS
463 select GENERIC_IRQ_MULTI_HANDLER 460 select GENERIC_IRQ_MULTI_HANDLER
464 select GPIOLIB 461 select GPIOLIB
465 select MIGHT_HAVE_PCI 462 select HAVE_PCI
466 select MVEBU_MBUS 463 select MVEBU_MBUS
467 select PINCTRL 464 select PINCTRL
468 select PINCTRL_DOVE 465 select PINCTRL_DOVE
@@ -1230,14 +1227,6 @@ config ISA_DMA
1230config ISA_DMA_API 1227config ISA_DMA_API
1231 bool 1228 bool
1232 1229
1233config PCI
1234 bool "PCI support" if MIGHT_HAVE_PCI
1235 help
1236 Find out whether you have a PCI motherboard. PCI is the name of a
1237 bus system, i.e. the way the CPU talks to the other stuff inside
1238 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
1239 VESA. If you have PCI, say Y, otherwise N.
1240
1241config PCI_DOMAINS 1230config PCI_DOMAINS
1242 bool "Support for multiple PCI domains" 1231 bool "Support for multiple PCI domains"
1243 depends on PCI 1232 depends on PCI
@@ -1266,8 +1255,6 @@ config PCI_HOST_ITE8152
1266 default y 1255 default y
1267 select DMABOUNCE 1256 select DMABOUNCE
1268 1257
1269source "drivers/pci/Kconfig"
1270
1271source "drivers/pcmcia/Kconfig" 1258source "drivers/pcmcia/Kconfig"
1272 1259
1273endmenu 1260endmenu
diff --git a/arch/arm/mach-alpine/Kconfig b/arch/arm/mach-alpine/Kconfig
index e3cbb07fe1b4..bc04c91294cf 100644
--- a/arch/arm/mach-alpine/Kconfig
+++ b/arch/arm/mach-alpine/Kconfig
@@ -9,7 +9,7 @@ config ARCH_ALPINE
9 select HAVE_ARM_ARCH_TIMER 9 select HAVE_ARM_ARCH_TIMER
10 select HAVE_SMP 10 select HAVE_SMP
11 select MFD_SYSCON 11 select MFD_SYSCON
12 select PCI 12 select FORCE_PCI
13 select PCI_HOST_GENERIC 13 select PCI_HOST_GENERIC
14 help 14 help
15 This enables support for the Annapurna Labs Alpine V1 boards. 15 This enables support for the Annapurna Labs Alpine V1 boards.
diff --git a/arch/arm/mach-footbridge/Kconfig b/arch/arm/mach-footbridge/Kconfig
index cbbdd84cf49a..816a5b89be25 100644
--- a/arch/arm/mach-footbridge/Kconfig
+++ b/arch/arm/mach-footbridge/Kconfig
@@ -9,7 +9,7 @@ config ARCH_CATS
9 select FOOTBRIDGE_HOST 9 select FOOTBRIDGE_HOST
10 select ISA 10 select ISA
11 select ISA_DMA 11 select ISA_DMA
12 select PCI 12 select FORCE_PCI
13 help 13 help
14 Say Y here if you intend to run this kernel on the CATS. 14 Say Y here if you intend to run this kernel on the CATS.
15 15
@@ -20,7 +20,7 @@ config ARCH_PERSONAL_SERVER
20 select FOOTBRIDGE_HOST 20 select FOOTBRIDGE_HOST
21 select ISA 21 select ISA
22 select ISA_DMA 22 select ISA_DMA
23 select PCI 23 select FORCE_PCI
24 ---help--- 24 ---help---
25 Say Y here if you intend to run this kernel on the Compaq 25 Say Y here if you intend to run this kernel on the Compaq
26 Personal Server. 26 Personal Server.
@@ -53,7 +53,7 @@ config ARCH_EBSA285_HOST
53 select ISA 53 select ISA
54 select ISA_DMA 54 select ISA_DMA
55 select ARCH_MAY_HAVE_PC_FDC 55 select ARCH_MAY_HAVE_PC_FDC
56 select PCI 56 select FORCE_PCI
57 help 57 help
58 Say Y here if you intend to run this kernel on the EBSA285 card 58 Say Y here if you intend to run this kernel on the EBSA285 card
59 in host ("central function") mode. 59 in host ("central function") mode.
@@ -67,7 +67,7 @@ config ARCH_NETWINDER
67 select FOOTBRIDGE_HOST 67 select FOOTBRIDGE_HOST
68 select ISA 68 select ISA
69 select ISA_DMA 69 select ISA_DMA
70 select PCI 70 select FORCE_PCI
71 help 71 help
72 Say Y here if you intend to run this kernel on the Rebel.COM 72 Say Y here if you intend to run this kernel on the Rebel.COM
73 NetWinder. Information about this machine can be found at: 73 NetWinder. Information about this machine can be found at:
diff --git a/arch/arm/mach-ixp4xx/Kconfig b/arch/arm/mach-ixp4xx/Kconfig
index c342dc4e8a45..fea008123eb1 100644
--- a/arch/arm/mach-ixp4xx/Kconfig
+++ b/arch/arm/mach-ixp4xx/Kconfig
@@ -7,7 +7,7 @@ comment "IXP4xx Platforms"
7config MACH_NSLU2 7config MACH_NSLU2
8 bool 8 bool
9 prompt "Linksys NSLU2" 9 prompt "Linksys NSLU2"
10 select PCI 10 select FORCE_PCI
11 help 11 help
12 Say 'Y' here if you want your kernel to support Linksys's 12 Say 'Y' here if you want your kernel to support Linksys's
13 NSLU2 NAS device. For more information on this platform, 13 NSLU2 NAS device. For more information on this platform,
@@ -15,7 +15,7 @@ config MACH_NSLU2
15 15
16config MACH_AVILA 16config MACH_AVILA
17 bool "Avila" 17 bool "Avila"
18 select PCI 18 select FORCE_PCI
19 help 19 help
20 Say 'Y' here if you want your kernel to support the Gateworks 20 Say 'Y' here if you want your kernel to support the Gateworks
21 Avila Network Platform. For more information on this platform, 21 Avila Network Platform. For more information on this platform,
@@ -31,7 +31,7 @@ config MACH_LOFT
31 31
32config ARCH_ADI_COYOTE 32config ARCH_ADI_COYOTE
33 bool "Coyote" 33 bool "Coyote"
34 select PCI 34 select FORCE_PCI
35 help 35 help
36 Say 'Y' here if you want your kernel to support the ADI 36 Say 'Y' here if you want your kernel to support the ADI
37 Engineering Coyote Gateway Reference Platform. For more 37 Engineering Coyote Gateway Reference Platform. For more
@@ -39,7 +39,7 @@ config ARCH_ADI_COYOTE
39 39
40config MACH_GATEWAY7001 40config MACH_GATEWAY7001
41 bool "Gateway 7001" 41 bool "Gateway 7001"
42 select PCI 42 select FORCE_PCI
43 help 43 help
44 Say 'Y' here if you want your kernel to support Gateway's 44 Say 'Y' here if you want your kernel to support Gateway's
45 7001 Access Point. For more information on this platform, 45 7001 Access Point. For more information on this platform,
@@ -47,7 +47,7 @@ config MACH_GATEWAY7001
47 47
48config MACH_WG302V2 48config MACH_WG302V2
49 bool "Netgear WG302 v2 / WAG302 v2" 49 bool "Netgear WG302 v2 / WAG302 v2"
50 select PCI 50 select FORCE_PCI
51 help 51 help
52 Say 'Y' here if you want your kernel to support Netgear's 52 Say 'Y' here if you want your kernel to support Netgear's
53 WG302 v2 or WAG302 v2 Access Points. For more information 53 WG302 v2 or WAG302 v2 Access Points. For more information
@@ -107,7 +107,7 @@ config ARCH_PRPMC1100
107config MACH_NAS100D 107config MACH_NAS100D
108 bool 108 bool
109 prompt "NAS100D" 109 prompt "NAS100D"
110 select PCI 110 select FORCE_PCI
111 help 111 help
112 Say 'Y' here if you want your kernel to support Iomega's 112 Say 'Y' here if you want your kernel to support Iomega's
113 NAS 100d device. For more information on this platform, 113 NAS 100d device. For more information on this platform,
@@ -116,7 +116,7 @@ config MACH_NAS100D
116config MACH_DSMG600 116config MACH_DSMG600
117 bool 117 bool
118 prompt "D-Link DSM-G600 RevA" 118 prompt "D-Link DSM-G600 RevA"
119 select PCI 119 select FORCE_PCI
120 help 120 help
121 Say 'Y' here if you want your kernel to support D-Link's 121 Say 'Y' here if you want your kernel to support D-Link's
122 DSM-G600 RevA device. For more information on this platform, 122 DSM-G600 RevA device. For more information on this platform,
@@ -130,7 +130,7 @@ config ARCH_IXDP4XX
130config MACH_FSG 130config MACH_FSG
131 bool 131 bool
132 prompt "Freecom FSG-3" 132 prompt "Freecom FSG-3"
133 select PCI 133 select FORCE_PCI
134 help 134 help
135 Say 'Y' here if you want your kernel to support Freecom's 135 Say 'Y' here if you want your kernel to support Freecom's
136 FSG-3 device. For more information on this platform, 136 FSG-3 device. For more information on this platform,
@@ -139,7 +139,7 @@ config MACH_FSG
139config MACH_ARCOM_VULCAN 139config MACH_ARCOM_VULCAN
140 bool 140 bool
141 prompt "Arcom/Eurotech Vulcan" 141 prompt "Arcom/Eurotech Vulcan"
142 select PCI 142 select FORCE_PCI
143 help 143 help
144 Say 'Y' here if you want your kernel to support Arcom's 144 Say 'Y' here if you want your kernel to support Arcom's
145 Vulcan board. 145 Vulcan board.
@@ -160,7 +160,7 @@ config CPU_IXP43X
160config MACH_GTWX5715 160config MACH_GTWX5715
161 bool "Gemtek WX5715 (Linksys WRV54G)" 161 bool "Gemtek WX5715 (Linksys WRV54G)"
162 depends on ARCH_IXP4XX 162 depends on ARCH_IXP4XX
163 select PCI 163 select FORCE_PCI
164 help 164 help
165 This board is currently inside the Linksys WRV54G Gateways. 165 This board is currently inside the Linksys WRV54G Gateways.
166 166
@@ -183,7 +183,7 @@ config MACH_DEVIXP
183 183
184config MACH_MICCPT 184config MACH_MICCPT
185 bool "Omicron MICCPT" 185 bool "Omicron MICCPT"
186 select PCI 186 select FORCE_PCI
187 help 187 help
188 Say 'Y' here if you want your kernel to support the MICCPT 188 Say 'Y' here if you want your kernel to support the MICCPT
189 board from OMICRON electronics GmbH. 189 board from OMICRON electronics GmbH.
diff --git a/arch/arm/mach-ks8695/Kconfig b/arch/arm/mach-ks8695/Kconfig
index a545976bdbd6..b3185c05fffa 100644
--- a/arch/arm/mach-ks8695/Kconfig
+++ b/arch/arm/mach-ks8695/Kconfig
@@ -4,7 +4,7 @@ menu "Kendin/Micrel KS8695 Implementations"
4 4
5config MACH_KS8695 5config MACH_KS8695
6 bool "KS8695 development board" 6 bool "KS8695 development board"
7 select MIGHT_HAVE_PCI 7 select HAVE_PCI
8 help 8 help
9 Say 'Y' here if you want your kernel to run on the original 9 Say 'Y' here if you want your kernel to run on the original
10 Kendin-Micrel KS8695 development board. 10 Kendin-Micrel KS8695 development board.
@@ -52,7 +52,7 @@ config MACH_CM4002
52 52
53config MACH_CM4008 53config MACH_CM4008
54 bool "OpenGear CM4008" 54 bool "OpenGear CM4008"
55 select MIGHT_HAVE_PCI 55 select HAVE_PCI
56 help 56 help
57 Say 'Y' here if you want your kernel to support the OpenGear 57 Say 'Y' here if you want your kernel to support the OpenGear
58 CM4008 Console Server. See http://www.opengear.com for more 58 CM4008 Console Server. See http://www.opengear.com for more
@@ -60,7 +60,7 @@ config MACH_CM4008
60 60
61config MACH_CM41xx 61config MACH_CM41xx
62 bool "OpenGear CM41xx" 62 bool "OpenGear CM41xx"
63 select MIGHT_HAVE_PCI 63 select HAVE_PCI
64 help 64 help
65 Say 'Y' here if you want your kernel to support the OpenGear 65 Say 'Y' here if you want your kernel to support the OpenGear
66 CM4016 or CM4048 Console Servers. See http://www.opengear.com for 66 CM4016 or CM4048 Console Servers. See http://www.opengear.com for
@@ -68,7 +68,7 @@ config MACH_CM41xx
68 68
69config MACH_IM4004 69config MACH_IM4004
70 bool "OpenGear IM4004" 70 bool "OpenGear IM4004"
71 select MIGHT_HAVE_PCI 71 select HAVE_PCI
72 help 72 help
73 Say 'Y' here if you want your kernel to support the OpenGear 73 Say 'Y' here if you want your kernel to support the OpenGear
74 IM4004 Secure Access Server. See http://www.opengear.com for 74 IM4004 Secure Access Server. See http://www.opengear.com for
@@ -76,7 +76,7 @@ config MACH_IM4004
76 76
77config MACH_IM42xx 77config MACH_IM42xx
78 bool "OpenGear IM42xx" 78 bool "OpenGear IM42xx"
79 select MIGHT_HAVE_PCI 79 select HAVE_PCI
80 help 80 help
81 Say 'Y' here if you want your kernel to support the OpenGear 81 Say 'Y' here if you want your kernel to support the OpenGear
82 IM4216 or IM4248 Console Servers. See http://www.opengear.com for 82 IM4216 or IM4248 Console Servers. See http://www.opengear.com for
diff --git a/arch/arm/mach-mv78xx0/Kconfig b/arch/arm/mach-mv78xx0/Kconfig
index 81c0f08a2684..d686a844a790 100644
--- a/arch/arm/mach-mv78xx0/Kconfig
+++ b/arch/arm/mach-mv78xx0/Kconfig
@@ -4,7 +4,7 @@ menuconfig ARCH_MV78XX0
4 select CPU_FEROCEON 4 select CPU_FEROCEON
5 select GPIOLIB 5 select GPIOLIB
6 select MVEBU_MBUS 6 select MVEBU_MBUS
7 select PCI 7 select FORCE_PCI
8 select PLAT_ORION_LEGACY 8 select PLAT_ORION_LEGACY
9 help 9 help
10 Support for the following Marvell MV78xx0 series SoCs: 10 Support for the following Marvell MV78xx0 series SoCs:
diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig
index 2c20599cc350..5d6fbadd7849 100644
--- a/arch/arm/mach-mvebu/Kconfig
+++ b/arch/arm/mach-mvebu/Kconfig
@@ -124,7 +124,7 @@ config MACH_KIRKWOOD
124 select MACH_MVEBU_ANY 124 select MACH_MVEBU_ANY
125 select ORION_IRQCHIP 125 select ORION_IRQCHIP
126 select ORION_TIMER 126 select ORION_TIMER
127 select PCI 127 select FORCE_PCI
128 select PCI_QUIRKS 128 select PCI_QUIRKS
129 select PINCTRL_KIRKWOOD 129 select PINCTRL_KIRKWOOD
130 help 130 help
diff --git a/arch/arm/mach-orion5x/Kconfig b/arch/arm/mach-orion5x/Kconfig
index a810f4dd34b1..38c45a88c793 100644
--- a/arch/arm/mach-orion5x/Kconfig
+++ b/arch/arm/mach-orion5x/Kconfig
@@ -5,7 +5,7 @@ menuconfig ARCH_ORION5X
5 select GENERIC_CLOCKEVENTS 5 select GENERIC_CLOCKEVENTS
6 select GPIOLIB 6 select GPIOLIB
7 select MVEBU_MBUS 7 select MVEBU_MBUS
8 select PCI 8 select FORCE_PCI
9 select PHYLIB if NETDEVICES 9 select PHYLIB if NETDEVICES
10 select PLAT_ORION_LEGACY 10 select PLAT_ORION_LEGACY
11 help 11 help
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index a68b34183107..b185794549be 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -125,7 +125,7 @@ config MACH_ARMCORE
125 bool "CompuLab CM-X255/CM-X270 modules" 125 bool "CompuLab CM-X255/CM-X270 modules"
126 select ARCH_HAS_DMA_SET_COHERENT_MASK if PCI 126 select ARCH_HAS_DMA_SET_COHERENT_MASK if PCI
127 select IWMMXT 127 select IWMMXT
128 select MIGHT_HAVE_PCI 128 select HAVE_PCI
129 select NEED_MACH_IO_H if PCI 129 select NEED_MACH_IO_H if PCI
130 select PXA25x 130 select PXA25x
131 select PXA27x 131 select PXA27x
diff --git a/arch/arm/mach-sa1100/Kconfig b/arch/arm/mach-sa1100/Kconfig
index fde7ef1ab192..acb2c520ae8b 100644
--- a/arch/arm/mach-sa1100/Kconfig
+++ b/arch/arm/mach-sa1100/Kconfig
@@ -120,7 +120,7 @@ config SA1100_LART
120config SA1100_NANOENGINE 120config SA1100_NANOENGINE
121 bool "nanoEngine" 121 bool "nanoEngine"
122 select ARM_SA1110_CPUFREQ 122 select ARM_SA1110_CPUFREQ
123 select PCI 123 select FORCE_PCI
124 select PCI_NANOENGINE 124 select PCI_NANOENGINE
125 help 125 help
126 Say Y here if you are using the Bright Star Engineering nanoEngine. 126 Say Y here if you are using the Bright Star Engineering nanoEngine.
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 787d7850e064..feffc52c823f 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -103,6 +103,7 @@ config ARM64
103 select GENERIC_TIME_VSYSCALL 103 select GENERIC_TIME_VSYSCALL
104 select HANDLE_DOMAIN_IRQ 104 select HANDLE_DOMAIN_IRQ
105 select HARDIRQS_SW_RESEND 105 select HARDIRQS_SW_RESEND
106 select HAVE_PCI
106 select HAVE_ACPI_APEI if (ACPI && EFI) 107 select HAVE_ACPI_APEI if (ACPI && EFI)
107 select HAVE_ALIGNED_STRUCT_PAGE if SLUB 108 select HAVE_ALIGNED_STRUCT_PAGE if SLUB
108 select HAVE_ARCH_AUDITSYSCALL 109 select HAVE_ARCH_AUDITSYSCALL
@@ -287,15 +288,6 @@ config ARCH_PROC_KCORE_TEXT
287 288
288source "arch/arm64/Kconfig.platforms" 289source "arch/arm64/Kconfig.platforms"
289 290
290menu "Bus support"
291
292config PCI
293 bool "PCI support"
294 help
295 This feature enables support for PCI bus system. If you say Y
296 here, the kernel will include drivers and infrastructure code
297 to support PCI bus devices.
298
299config PCI_DOMAINS 291config PCI_DOMAINS
300 def_bool PCI 292 def_bool PCI
301 293
@@ -305,10 +297,6 @@ config PCI_DOMAINS_GENERIC
305config PCI_SYSCALL 297config PCI_SYSCALL
306 def_bool PCI 298 def_bool PCI
307 299
308source "drivers/pci/Kconfig"
309
310endmenu
311
312menu "Kernel Features" 300menu "Kernel Features"
313 301
314menu "ARM errata workarounds via the alternatives framework" 302menu "ARM errata workarounds via the alternatives framework"
diff --git a/arch/hexagon/Kconfig b/arch/hexagon/Kconfig
index 2b688af379e6..bbe928322840 100644
--- a/arch/hexagon/Kconfig
+++ b/arch/hexagon/Kconfig
@@ -47,9 +47,6 @@ config FRAME_POINTER
47config LOCKDEP_SUPPORT 47config LOCKDEP_SUPPORT
48 def_bool y 48 def_bool y
49 49
50config PCI
51 def_bool n
52
53config EARLY_PRINTK 50config EARLY_PRINTK
54 def_bool y 51 def_bool y
55 52
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index 36773def6920..4dec7457feed 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -10,11 +10,11 @@ config IA64
10 bool 10 bool
11 select ARCH_MIGHT_HAVE_PC_PARPORT 11 select ARCH_MIGHT_HAVE_PC_PARPORT
12 select ARCH_MIGHT_HAVE_PC_SERIO 12 select ARCH_MIGHT_HAVE_PC_SERIO
13 select PCI if (!IA64_HP_SIM)
14 select ACPI if (!IA64_HP_SIM) 13 select ACPI if (!IA64_HP_SIM)
15 select ARCH_SUPPORTS_ACPI if (!IA64_HP_SIM) 14 select ARCH_SUPPORTS_ACPI if (!IA64_HP_SIM)
16 select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI 15 select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
17 select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI 16 select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI
17 select FORCE_PCI if (!IA64_HP_SIM)
18 select HAVE_UNSTABLE_SCHED_CLOCK 18 select HAVE_UNSTABLE_SCHED_CLOCK
19 select HAVE_EXIT_THREAD 19 select HAVE_EXIT_THREAD
20 select HAVE_IDE 20 select HAVE_IDE
@@ -544,20 +544,12 @@ if !IA64_HP_SIM
544 544
545menu "Bus options (PCI, PCMCIA)" 545menu "Bus options (PCI, PCMCIA)"
546 546
547config PCI
548 bool "PCI support"
549 help
550 Real IA-64 machines all have PCI/PCI-X/PCI Express busses. Say Y
551 here unless you are using a simulator without PCI support.
552
553config PCI_DOMAINS 547config PCI_DOMAINS
554 def_bool PCI 548 def_bool PCI
555 549
556config PCI_SYSCALL 550config PCI_SYSCALL
557 def_bool PCI 551 def_bool PCI
558 552
559source "drivers/pci/Kconfig"
560
561source "drivers/pcmcia/Kconfig" 553source "drivers/pcmcia/Kconfig"
562 554
563endmenu 555endmenu
diff --git a/arch/m68k/Kconfig.bus b/arch/m68k/Kconfig.bus
index aef698fa50e5..8cb0604b195b 100644
--- a/arch/m68k/Kconfig.bus
+++ b/arch/m68k/Kconfig.bus
@@ -63,17 +63,6 @@ source "drivers/zorro/Kconfig"
63 63
64endif 64endif
65 65
66config PCI
67 bool "PCI support"
68 depends on M54xx
69 help
70 Enable the PCI bus. Support for the PCI bus hardware built into the
71 ColdFire 547x and 548x processors.
72
73if PCI
74source "drivers/pci/Kconfig"
75endif
76
77if !MMU 66if !MMU
78 67
79config ISA_DMA_API 68config ISA_DMA_API
diff --git a/arch/m68k/Kconfig.cpu b/arch/m68k/Kconfig.cpu
index 21f00349af52..60ac1cd8b96f 100644
--- a/arch/m68k/Kconfig.cpu
+++ b/arch/m68k/Kconfig.cpu
@@ -299,6 +299,7 @@ config M53xx
299 bool 299 bool
300 300
301config M54xx 301config M54xx
302 select HAVE_PCI
302 bool 303 bool
303 304
304endif # COLDFIRE 305endif # COLDFIRE
diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig
index effed2efd306..cee1fc849d97 100644
--- a/arch/microblaze/Kconfig
+++ b/arch/microblaze/Kconfig
@@ -30,6 +30,7 @@ config MICROBLAZE
30 select HAVE_FUNCTION_TRACER 30 select HAVE_FUNCTION_TRACER
31 select HAVE_MEMBLOCK_NODE_MAP 31 select HAVE_MEMBLOCK_NODE_MAP
32 select HAVE_OPROFILE 32 select HAVE_OPROFILE
33 select HAVE_PCI
33 select IRQ_DOMAIN 34 select IRQ_DOMAIN
34 select XILINX_INTC 35 select XILINX_INTC
35 select MODULES_USE_ELF_RELA 36 select MODULES_USE_ELF_RELA
@@ -266,9 +267,6 @@ endmenu
266 267
267menu "Bus Options" 268menu "Bus Options"
268 269
269config PCI
270 bool "PCI support"
271
272config PCI_DOMAINS 270config PCI_DOMAINS
273 def_bool PCI 271 def_bool PCI
274 272
@@ -282,6 +280,4 @@ config PCI_XILINX
282 bool "Xilinx PCI host bridge support" 280 bool "Xilinx PCI host bridge support"
283 depends on PCI 281 depends on PCI
284 282
285source "drivers/pci/Kconfig"
286
287endmenu 283endmenu
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 7d28c9dd75d0..01be35aeffad 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -73,6 +73,7 @@ config MIPS
73 select IRQ_FORCED_THREADING 73 select IRQ_FORCED_THREADING
74 select MODULES_USE_ELF_RELA if MODULES && 64BIT 74 select MODULES_USE_ELF_RELA if MODULES && 64BIT
75 select MODULES_USE_ELF_REL if MODULES 75 select MODULES_USE_ELF_REL if MODULES
76 select PCI_DOMAINS if PCI
76 select PERF_USE_VMALLOC 77 select PERF_USE_VMALLOC
77 select RTC_LIB 78 select RTC_LIB
78 select SYSCTL_EXCEPTION_TRACE 79 select SYSCTL_EXCEPTION_TRACE
@@ -95,7 +96,7 @@ config MIPS_GENERIC
95 select CPU_MIPSR2_IRQ_EI 96 select CPU_MIPSR2_IRQ_EI
96 select CSRC_R4K 97 select CSRC_R4K
97 select DMA_PERDEV_COHERENT 98 select DMA_PERDEV_COHERENT
98 select HW_HAS_PCI 99 select HAVE_PCI
99 select IRQ_MIPS_CPU 100 select IRQ_MIPS_CPU
100 select LIBFDT 101 select LIBFDT
101 select MIPS_AUTO_PFN_OFFSET 102 select MIPS_AUTO_PFN_OFFSET
@@ -256,7 +257,7 @@ config BCM47XX
256 select CEVT_R4K 257 select CEVT_R4K
257 select CSRC_R4K 258 select CSRC_R4K
258 select DMA_NONCOHERENT 259 select DMA_NONCOHERENT
259 select HW_HAS_PCI 260 select HAVE_PCI
260 select IRQ_MIPS_CPU 261 select IRQ_MIPS_CPU
261 select SYS_HAS_CPU_MIPS32_R1 262 select SYS_HAS_CPU_MIPS32_R1
262 select NO_EXCEPT_FILL 263 select NO_EXCEPT_FILL
@@ -299,13 +300,12 @@ config MIPS_COBALT
299 select CSRC_R4K 300 select CSRC_R4K
300 select CEVT_GT641XX 301 select CEVT_GT641XX
301 select DMA_NONCOHERENT 302 select DMA_NONCOHERENT
302 select HW_HAS_PCI 303 select FORCE_PCI
303 select I8253 304 select I8253
304 select I8259 305 select I8259
305 select IRQ_MIPS_CPU 306 select IRQ_MIPS_CPU
306 select IRQ_GT641XX 307 select IRQ_GT641XX
307 select PCI_GT64XXX_PCI0 308 select PCI_GT64XXX_PCI0
308 select PCI
309 select SYS_HAS_CPU_NEVADA 309 select SYS_HAS_CPU_NEVADA
310 select SYS_HAS_EARLY_PRINTK 310 select SYS_HAS_EARLY_PRINTK
311 select SYS_SUPPORTS_32BIT_KERNEL 311 select SYS_SUPPORTS_32BIT_KERNEL
@@ -422,7 +422,7 @@ config LASAT
422 select CSRC_R4K 422 select CSRC_R4K
423 select DMA_NONCOHERENT 423 select DMA_NONCOHERENT
424 select SYS_HAS_EARLY_PRINTK 424 select SYS_HAS_EARLY_PRINTK
425 select HW_HAS_PCI 425 select HAVE_PCI
426 select IRQ_MIPS_CPU 426 select IRQ_MIPS_CPU
427 select PCI_GT64XXX_PCI0 427 select PCI_GT64XXX_PCI0
428 select MIPS_NILE4 428 select MIPS_NILE4
@@ -502,7 +502,7 @@ config MIPS_MALTA
502 select HAVE_PCSPKR_PLATFORM 502 select HAVE_PCSPKR_PLATFORM
503 select IRQ_MIPS_CPU 503 select IRQ_MIPS_CPU
504 select MIPS_GIC 504 select MIPS_GIC
505 select HW_HAS_PCI 505 select HAVE_PCI
506 select I8253 506 select I8253
507 select I8259 507 select I8259
508 select MIPS_BONITO64 508 select MIPS_BONITO64
@@ -556,7 +556,7 @@ config MACH_PIC32
556config NEC_MARKEINS 556config NEC_MARKEINS
557 bool "NEC EMMA2RH Mark-eins board" 557 bool "NEC EMMA2RH Mark-eins board"
558 select SOC_EMMA2RH 558 select SOC_EMMA2RH
559 select HW_HAS_PCI 559 select HAVE_PCI
560 help 560 help
561 This enables support for the NEC Electronics Mark-eins boards. 561 This enables support for the NEC Electronics Mark-eins boards.
562 562
@@ -673,7 +673,7 @@ config SGI_IP27
673 select BOOT_ELF64 673 select BOOT_ELF64
674 select DEFAULT_SGI_PARTITION 674 select DEFAULT_SGI_PARTITION
675 select SYS_HAS_EARLY_PRINTK 675 select SYS_HAS_EARLY_PRINTK
676 select HW_HAS_PCI 676 select HAVE_PCI
677 select NR_CPUS_DEFAULT_64 677 select NR_CPUS_DEFAULT_64
678 select SYS_HAS_CPU_R10000 678 select SYS_HAS_CPU_R10000
679 select SYS_SUPPORTS_64BIT_KERNEL 679 select SYS_SUPPORTS_64BIT_KERNEL
@@ -733,7 +733,7 @@ config SGI_IP32
733 select CEVT_R4K 733 select CEVT_R4K
734 select CSRC_R4K 734 select CSRC_R4K
735 select DMA_NONCOHERENT 735 select DMA_NONCOHERENT
736 select HW_HAS_PCI 736 select HAVE_PCI
737 select IRQ_MIPS_CPU 737 select IRQ_MIPS_CPU
738 select R5000_CPU_SCACHE 738 select R5000_CPU_SCACHE
739 select RM7000_CPU_SCACHE 739 select RM7000_CPU_SCACHE
@@ -843,7 +843,7 @@ config SNI_RM
843 select GENERIC_ISA_DMA 843 select GENERIC_ISA_DMA
844 select HAVE_PCSPKR_PLATFORM 844 select HAVE_PCSPKR_PLATFORM
845 select HW_HAS_EISA 845 select HW_HAS_EISA
846 select HW_HAS_PCI 846 select HAVE_PCI
847 select IRQ_MIPS_CPU 847 select IRQ_MIPS_CPU
848 select I8253 848 select I8253
849 select I8259 849 select I8259
@@ -876,7 +876,7 @@ config MIKROTIK_RB532
876 select CEVT_R4K 876 select CEVT_R4K
877 select CSRC_R4K 877 select CSRC_R4K
878 select DMA_NONCOHERENT 878 select DMA_NONCOHERENT
879 select HW_HAS_PCI 879 select HAVE_PCI
880 select IRQ_MIPS_CPU 880 select IRQ_MIPS_CPU
881 select SYS_HAS_CPU_MIPS32_R1 881 select SYS_HAS_CPU_MIPS32_R1
882 select SYS_SUPPORTS_32BIT_KERNEL 882 select SYS_SUPPORTS_32BIT_KERNEL
@@ -903,7 +903,7 @@ config CAVIUM_OCTEON_SOC
903 select SYS_SUPPORTS_HOTPLUG_CPU if CPU_BIG_ENDIAN 903 select SYS_SUPPORTS_HOTPLUG_CPU if CPU_BIG_ENDIAN
904 select SYS_HAS_EARLY_PRINTK 904 select SYS_HAS_EARLY_PRINTK
905 select SYS_HAS_CPU_CAVIUM_OCTEON 905 select SYS_HAS_CPU_CAVIUM_OCTEON
906 select HW_HAS_PCI 906 select HAVE_PCI
907 select ZONE_DMA32 907 select ZONE_DMA32
908 select HOLES_IN_ZONE 908 select HOLES_IN_ZONE
909 select GPIOLIB 909 select GPIOLIB
@@ -936,7 +936,7 @@ config NLM_XLR_BOARD
936 select NLM_COMMON 936 select NLM_COMMON
937 select SYS_HAS_CPU_XLR 937 select SYS_HAS_CPU_XLR
938 select SYS_SUPPORTS_SMP 938 select SYS_SUPPORTS_SMP
939 select HW_HAS_PCI 939 select HAVE_PCI
940 select SWAP_IO_SPACE 940 select SWAP_IO_SPACE
941 select SYS_SUPPORTS_32BIT_KERNEL 941 select SYS_SUPPORTS_32BIT_KERNEL
942 select SYS_SUPPORTS_64BIT_KERNEL 942 select SYS_SUPPORTS_64BIT_KERNEL
@@ -962,7 +962,7 @@ config NLM_XLP_BOARD
962 select NLM_COMMON 962 select NLM_COMMON
963 select SYS_HAS_CPU_XLP 963 select SYS_HAS_CPU_XLP
964 select SYS_SUPPORTS_SMP 964 select SYS_SUPPORTS_SMP
965 select HW_HAS_PCI 965 select HAVE_PCI
966 select SYS_SUPPORTS_32BIT_KERNEL 966 select SYS_SUPPORTS_32BIT_KERNEL
967 select SYS_SUPPORTS_64BIT_KERNEL 967 select SYS_SUPPORTS_64BIT_KERNEL
968 select PHYS_ADDR_T_64BIT 968 select PHYS_ADDR_T_64BIT
@@ -997,7 +997,7 @@ config MIPS_PARAVIRT
997 select SYS_HAS_CPU_MIPS32_R2 997 select SYS_HAS_CPU_MIPS32_R2
998 select SYS_HAS_CPU_MIPS64_R2 998 select SYS_HAS_CPU_MIPS64_R2
999 select SYS_HAS_CPU_CAVIUM_OCTEON 999 select SYS_HAS_CPU_CAVIUM_OCTEON
1000 select HW_HAS_PCI 1000 select HAVE_PCI
1001 select SWAP_IO_SPACE 1001 select SWAP_IO_SPACE
1002 help 1002 help
1003 This option supports guest running under ???? 1003 This option supports guest running under ????
@@ -3027,18 +3027,6 @@ menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"
3027 3027
3028config HW_HAS_EISA 3028config HW_HAS_EISA
3029 bool 3029 bool
3030config HW_HAS_PCI
3031 bool
3032
3033config PCI
3034 bool "Support for PCI controller"
3035 depends on HW_HAS_PCI
3036 select PCI_DOMAINS
3037 help
3038 Find out whether you have a PCI motherboard. PCI is the name of a
3039 bus system, i.e. the way the CPU talks to the other stuff inside
3040 your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
3041 say Y, otherwise N.
3042 3030
3043config PCI_DOMAINS 3031config PCI_DOMAINS
3044 bool 3032 bool
@@ -3054,8 +3042,6 @@ config PCI_DRIVERS_LEGACY
3054 def_bool !PCI_DRIVERS_GENERIC 3042 def_bool !PCI_DRIVERS_GENERIC
3055 select NO_GENERIC_PCI_IOPORT_MAP 3043 select NO_GENERIC_PCI_IOPORT_MAP
3056 3044
3057source "drivers/pci/Kconfig"
3058
3059# 3045#
3060# ISA support is now enabled via select. Too many systems still have the one 3046# ISA support is now enabled via select. Too many systems still have the one
3061# or other ISA chip on the board that users don't know about so don't expect 3047# or other ISA chip on the board that users don't know about so don't expect
diff --git a/arch/mips/alchemy/Kconfig b/arch/mips/alchemy/Kconfig
index 7d73f7f4202b..83b288b95b16 100644
--- a/arch/mips/alchemy/Kconfig
+++ b/arch/mips/alchemy/Kconfig
@@ -14,7 +14,7 @@ choice
14 14
15config MIPS_MTX1 15config MIPS_MTX1
16 bool "4G Systems MTX-1 board" 16 bool "4G Systems MTX-1 board"
17 select HW_HAS_PCI 17 select HAVE_PCI
18 select ALCHEMY_GPIOINT_AU1000 18 select ALCHEMY_GPIOINT_AU1000
19 select SYS_SUPPORTS_LITTLE_ENDIAN 19 select SYS_SUPPORTS_LITTLE_ENDIAN
20 select SYS_HAS_EARLY_PRINTK 20 select SYS_HAS_EARLY_PRINTK
@@ -22,7 +22,7 @@ config MIPS_MTX1
22config MIPS_DB1XXX 22config MIPS_DB1XXX
23 bool "Alchemy DB1XXX / PB1XXX boards" 23 bool "Alchemy DB1XXX / PB1XXX boards"
24 select GPIOLIB 24 select GPIOLIB
25 select HW_HAS_PCI 25 select HAVE_PCI
26 select SYS_SUPPORTS_LITTLE_ENDIAN 26 select SYS_SUPPORTS_LITTLE_ENDIAN
27 select SYS_HAS_EARLY_PRINTK 27 select SYS_HAS_EARLY_PRINTK
28 help 28 help
@@ -40,7 +40,7 @@ config MIPS_XXS1500
40config MIPS_GPR 40config MIPS_GPR
41 bool "Trapeze ITS GPR board" 41 bool "Trapeze ITS GPR board"
42 select ALCHEMY_GPIOINT_AU1000 42 select ALCHEMY_GPIOINT_AU1000
43 select HW_HAS_PCI 43 select HAVE_PCI
44 select SYS_SUPPORTS_LITTLE_ENDIAN 44 select SYS_SUPPORTS_LITTLE_ENDIAN
45 select SYS_HAS_EARLY_PRINTK 45 select SYS_HAS_EARLY_PRINTK
46 46
diff --git a/arch/mips/ath25/Kconfig b/arch/mips/ath25/Kconfig
index 2c1dfd06c366..3014c80cf581 100644
--- a/arch/mips/ath25/Kconfig
+++ b/arch/mips/ath25/Kconfig
@@ -13,6 +13,5 @@ config PCI_AR2315
13 bool "Atheros AR2315 PCI controller support" 13 bool "Atheros AR2315 PCI controller support"
14 depends on SOC_AR2315 14 depends on SOC_AR2315
15 select ARCH_HAS_PHYS_TO_DMA 15 select ARCH_HAS_PHYS_TO_DMA
16 select HW_HAS_PCI 16 select FORCE_PCI
17 select PCI
18 default y 17 default y
diff --git a/arch/mips/ath79/Kconfig b/arch/mips/ath79/Kconfig
index 9547cf1ea38d..191c3910eac5 100644
--- a/arch/mips/ath79/Kconfig
+++ b/arch/mips/ath79/Kconfig
@@ -75,11 +75,11 @@ config ATH79_MACH_UBNT_XM
75endmenu 75endmenu
76 76
77config SOC_AR71XX 77config SOC_AR71XX
78 select HW_HAS_PCI 78 select HAVE_PCI
79 def_bool n 79 def_bool n
80 80
81config SOC_AR724X 81config SOC_AR724X
82 select HW_HAS_PCI 82 select HAVE_PCI
83 select PCI_AR724X if PCI 83 select PCI_AR724X if PCI
84 def_bool n 84 def_bool n
85 85
@@ -90,12 +90,12 @@ config SOC_AR933X
90 def_bool n 90 def_bool n
91 91
92config SOC_AR934X 92config SOC_AR934X
93 select HW_HAS_PCI 93 select HAVE_PCI
94 select PCI_AR724X if PCI 94 select PCI_AR724X if PCI
95 def_bool n 95 def_bool n
96 96
97config SOC_QCA955X 97config SOC_QCA955X
98 select HW_HAS_PCI 98 select HAVE_PCI
99 select PCI_AR724X if PCI 99 select PCI_AR724X if PCI
100 def_bool n 100 def_bool n
101 101
diff --git a/arch/mips/bcm63xx/Kconfig b/arch/mips/bcm63xx/Kconfig
index 96ed735a4f4a..837f6e5a2f37 100644
--- a/arch/mips/bcm63xx/Kconfig
+++ b/arch/mips/bcm63xx/Kconfig
@@ -5,17 +5,17 @@ menu "CPU support"
5config BCM63XX_CPU_3368 5config BCM63XX_CPU_3368
6 bool "support 3368 CPU" 6 bool "support 3368 CPU"
7 select SYS_HAS_CPU_BMIPS4350 7 select SYS_HAS_CPU_BMIPS4350
8 select HW_HAS_PCI 8 select HAVE_PCI
9 9
10config BCM63XX_CPU_6328 10config BCM63XX_CPU_6328
11 bool "support 6328 CPU" 11 bool "support 6328 CPU"
12 select SYS_HAS_CPU_BMIPS4350 12 select SYS_HAS_CPU_BMIPS4350
13 select HW_HAS_PCI 13 select HAVE_PCI
14 14
15config BCM63XX_CPU_6338 15config BCM63XX_CPU_6338
16 bool "support 6338 CPU" 16 bool "support 6338 CPU"
17 select SYS_HAS_CPU_BMIPS32_3300 17 select SYS_HAS_CPU_BMIPS32_3300
18 select HW_HAS_PCI 18 select HAVE_PCI
19 19
20config BCM63XX_CPU_6345 20config BCM63XX_CPU_6345
21 bool "support 6345 CPU" 21 bool "support 6345 CPU"
@@ -24,22 +24,22 @@ config BCM63XX_CPU_6345
24config BCM63XX_CPU_6348 24config BCM63XX_CPU_6348
25 bool "support 6348 CPU" 25 bool "support 6348 CPU"
26 select SYS_HAS_CPU_BMIPS32_3300 26 select SYS_HAS_CPU_BMIPS32_3300
27 select HW_HAS_PCI 27 select HAVE_PCI
28 28
29config BCM63XX_CPU_6358 29config BCM63XX_CPU_6358
30 bool "support 6358 CPU" 30 bool "support 6358 CPU"
31 select SYS_HAS_CPU_BMIPS4350 31 select SYS_HAS_CPU_BMIPS4350
32 select HW_HAS_PCI 32 select HAVE_PCI
33 33
34config BCM63XX_CPU_6362 34config BCM63XX_CPU_6362
35 bool "support 6362 CPU" 35 bool "support 6362 CPU"
36 select SYS_HAS_CPU_BMIPS4350 36 select SYS_HAS_CPU_BMIPS4350
37 select HW_HAS_PCI 37 select HAVE_PCI
38 38
39config BCM63XX_CPU_6368 39config BCM63XX_CPU_6368
40 bool "support 6368 CPU" 40 bool "support 6368 CPU"
41 select SYS_HAS_CPU_BMIPS4350 41 select SYS_HAS_CPU_BMIPS4350
42 select HW_HAS_PCI 42 select HAVE_PCI
43endmenu 43endmenu
44 44
45source "arch/mips/bcm63xx/boards/Kconfig" 45source "arch/mips/bcm63xx/boards/Kconfig"
diff --git a/arch/mips/lantiq/Kconfig b/arch/mips/lantiq/Kconfig
index 8e3a1fc2bc39..188de95d6dbd 100644
--- a/arch/mips/lantiq/Kconfig
+++ b/arch/mips/lantiq/Kconfig
@@ -19,7 +19,7 @@ config SOC_AMAZON_SE
19config SOC_XWAY 19config SOC_XWAY
20 bool "XWAY" 20 bool "XWAY"
21 select SOC_TYPE_XWAY 21 select SOC_TYPE_XWAY
22 select HW_HAS_PCI 22 select HAVE_PCI
23 select MFD_SYSCON 23 select MFD_SYSCON
24 select MFD_CORE 24 select MFD_CORE
25 25
diff --git a/arch/mips/loongson64/Kconfig b/arch/mips/loongson64/Kconfig
index 781a5156ab21..4c14a11525f4 100644
--- a/arch/mips/loongson64/Kconfig
+++ b/arch/mips/loongson64/Kconfig
@@ -15,7 +15,7 @@ config LEMOTE_FULOONG2E
15 select DMA_NONCOHERENT 15 select DMA_NONCOHERENT
16 select BOOT_ELF32 16 select BOOT_ELF32
17 select BOARD_SCACHE 17 select BOARD_SCACHE
18 select HW_HAS_PCI 18 select HAVE_PCI
19 select I8259 19 select I8259
20 select ISA 20 select ISA
21 select IRQ_MIPS_CPU 21 select IRQ_MIPS_CPU
@@ -46,7 +46,7 @@ config LEMOTE_MACH2F
46 select DMA_NONCOHERENT 46 select DMA_NONCOHERENT
47 select GENERIC_ISA_DMA_SUPPORT_BROKEN 47 select GENERIC_ISA_DMA_SUPPORT_BROKEN
48 select HAVE_CLK 48 select HAVE_CLK
49 select HW_HAS_PCI 49 select HAVE_PCI
50 select I8259 50 select I8259
51 select IRQ_MIPS_CPU 51 select IRQ_MIPS_CPU
52 select ISA 52 select ISA
@@ -74,9 +74,8 @@ config LOONGSON_MACH3X
74 select CSRC_R4K 74 select CSRC_R4K
75 select CEVT_R4K 75 select CEVT_R4K
76 select CPU_HAS_WB 76 select CPU_HAS_WB
77 select HW_HAS_PCI 77 select FORCE_PCI
78 select ISA 78 select ISA
79 select PCI
80 select I8259 79 select I8259
81 select IRQ_MIPS_CPU 80 select IRQ_MIPS_CPU
82 select NR_CPUS_DEFAULT_4 81 select NR_CPUS_DEFAULT_4
diff --git a/arch/mips/pmcs-msp71xx/Kconfig b/arch/mips/pmcs-msp71xx/Kconfig
index d319bc0c3df6..b185b7620c97 100644
--- a/arch/mips/pmcs-msp71xx/Kconfig
+++ b/arch/mips/pmcs-msp71xx/Kconfig
@@ -6,25 +6,25 @@ choice
6config PMC_MSP4200_EVAL 6config PMC_MSP4200_EVAL
7 bool "PMC-Sierra MSP4200 Eval Board" 7 bool "PMC-Sierra MSP4200 Eval Board"
8 select IRQ_MSP_SLP 8 select IRQ_MSP_SLP
9 select HW_HAS_PCI 9 select HAVE_PCI
10 select MIPS_L1_CACHE_SHIFT_4 10 select MIPS_L1_CACHE_SHIFT_4
11 11
12config PMC_MSP4200_GW 12config PMC_MSP4200_GW
13 bool "PMC-Sierra MSP4200 VoIP Gateway" 13 bool "PMC-Sierra MSP4200 VoIP Gateway"
14 select IRQ_MSP_SLP 14 select IRQ_MSP_SLP
15 select HW_HAS_PCI 15 select HAVE_PCI
16 16
17config PMC_MSP7120_EVAL 17config PMC_MSP7120_EVAL
18 bool "PMC-Sierra MSP7120 Eval Board" 18 bool "PMC-Sierra MSP7120 Eval Board"
19 select SYS_SUPPORTS_MULTITHREADING 19 select SYS_SUPPORTS_MULTITHREADING
20 select IRQ_MSP_CIC 20 select IRQ_MSP_CIC
21 select HW_HAS_PCI 21 select HAVE_PCI
22 22
23config PMC_MSP7120_GW 23config PMC_MSP7120_GW
24 bool "PMC-Sierra MSP7120 Residential Gateway" 24 bool "PMC-Sierra MSP7120 Residential Gateway"
25 select SYS_SUPPORTS_MULTITHREADING 25 select SYS_SUPPORTS_MULTITHREADING
26 select IRQ_MSP_CIC 26 select IRQ_MSP_CIC
27 select HW_HAS_PCI 27 select HAVE_PCI
28 select MSP_HAS_USB 28 select MSP_HAS_USB
29 select MSP_ETH 29 select MSP_ETH
30 30
@@ -32,7 +32,7 @@ config PMC_MSP7120_FPGA
32 bool "PMC-Sierra MSP7120 FPGA" 32 bool "PMC-Sierra MSP7120 FPGA"
33 select SYS_SUPPORTS_MULTITHREADING 33 select SYS_SUPPORTS_MULTITHREADING
34 select IRQ_MSP_CIC 34 select IRQ_MSP_CIC
35 select HW_HAS_PCI 35 select HAVE_PCI
36 36
37endchoice 37endchoice
38 38
diff --git a/arch/mips/ralink/Kconfig b/arch/mips/ralink/Kconfig
index 1f9cb0e3c79a..4c8006b4a5f7 100644
--- a/arch/mips/ralink/Kconfig
+++ b/arch/mips/ralink/Kconfig
@@ -27,18 +27,18 @@ choice
27 config SOC_RT288X 27 config SOC_RT288X
28 bool "RT288x" 28 bool "RT288x"
29 select MIPS_L1_CACHE_SHIFT_4 29 select MIPS_L1_CACHE_SHIFT_4
30 select HW_HAS_PCI 30 select HAVE_PCI
31 31
32 config SOC_RT305X 32 config SOC_RT305X
33 bool "RT305x" 33 bool "RT305x"
34 34
35 config SOC_RT3883 35 config SOC_RT3883
36 bool "RT3883" 36 bool "RT3883"
37 select HW_HAS_PCI 37 select HAVE_PCI
38 38
39 config SOC_MT7620 39 config SOC_MT7620
40 bool "MT7620/8" 40 bool "MT7620/8"
41 select HW_HAS_PCI 41 select HAVE_PCI
42 42
43 config SOC_MT7621 43 config SOC_MT7621
44 bool "MT7621" 44 bool "MT7621"
@@ -50,7 +50,7 @@ choice
50 select MIPS_GIC 50 select MIPS_GIC
51 select COMMON_CLK 51 select COMMON_CLK
52 select CLKSRC_MIPS_GIC 52 select CLKSRC_MIPS_GIC
53 select HW_HAS_PCI 53 select HAVE_PCI
54endchoice 54endchoice
55 55
56choice 56choice
diff --git a/arch/mips/sibyte/Kconfig b/arch/mips/sibyte/Kconfig
index 7ec278d72096..470d46183677 100644
--- a/arch/mips/sibyte/Kconfig
+++ b/arch/mips/sibyte/Kconfig
@@ -3,7 +3,7 @@ config SIBYTE_SB1250
3 bool 3 bool
4 select CEVT_SB1250 4 select CEVT_SB1250
5 select CSRC_SB1250 5 select CSRC_SB1250
6 select HW_HAS_PCI 6 select HAVE_PCI
7 select IRQ_MIPS_CPU 7 select IRQ_MIPS_CPU
8 select SIBYTE_ENABLE_LDT_IF_PCI 8 select SIBYTE_ENABLE_LDT_IF_PCI
9 select SIBYTE_HAS_ZBUS_PROFILING 9 select SIBYTE_HAS_ZBUS_PROFILING
@@ -23,7 +23,7 @@ config SIBYTE_BCM1125
23 bool 23 bool
24 select CEVT_SB1250 24 select CEVT_SB1250
25 select CSRC_SB1250 25 select CSRC_SB1250
26 select HW_HAS_PCI 26 select HAVE_PCI
27 select IRQ_MIPS_CPU 27 select IRQ_MIPS_CPU
28 select SIBYTE_BCM112X 28 select SIBYTE_BCM112X
29 select SIBYTE_HAS_ZBUS_PROFILING 29 select SIBYTE_HAS_ZBUS_PROFILING
@@ -33,7 +33,7 @@ config SIBYTE_BCM1125H
33 bool 33 bool
34 select CEVT_SB1250 34 select CEVT_SB1250
35 select CSRC_SB1250 35 select CSRC_SB1250
36 select HW_HAS_PCI 36 select HAVE_PCI
37 select IRQ_MIPS_CPU 37 select IRQ_MIPS_CPU
38 select SIBYTE_BCM112X 38 select SIBYTE_BCM112X
39 select SIBYTE_ENABLE_LDT_IF_PCI 39 select SIBYTE_ENABLE_LDT_IF_PCI
@@ -52,7 +52,7 @@ config SIBYTE_BCM1x80
52 bool 52 bool
53 select CEVT_BCM1480 53 select CEVT_BCM1480
54 select CSRC_BCM1480 54 select CSRC_BCM1480
55 select HW_HAS_PCI 55 select HAVE_PCI
56 select IRQ_MIPS_CPU 56 select IRQ_MIPS_CPU
57 select SIBYTE_HAS_ZBUS_PROFILING 57 select SIBYTE_HAS_ZBUS_PROFILING
58 select SIBYTE_SB1xxx_SOC 58 select SIBYTE_SB1xxx_SOC
@@ -62,7 +62,7 @@ config SIBYTE_BCM1x55
62 bool 62 bool
63 select CEVT_BCM1480 63 select CEVT_BCM1480
64 select CSRC_BCM1480 64 select CSRC_BCM1480
65 select HW_HAS_PCI 65 select HAVE_PCI
66 select IRQ_MIPS_CPU 66 select IRQ_MIPS_CPU
67 select SIBYTE_SB1xxx_SOC 67 select SIBYTE_SB1xxx_SOC
68 select SIBYTE_HAS_ZBUS_PROFILING 68 select SIBYTE_HAS_ZBUS_PROFILING
diff --git a/arch/mips/txx9/Kconfig b/arch/mips/txx9/Kconfig
index d2509c93f0ee..9a22a182b7a4 100644
--- a/arch/mips/txx9/Kconfig
+++ b/arch/mips/txx9/Kconfig
@@ -59,7 +59,7 @@ config SOC_TX3927
59 bool 59 bool
60 select CEVT_TXX9 60 select CEVT_TXX9
61 select HAS_TXX9_SERIAL 61 select HAS_TXX9_SERIAL
62 select HW_HAS_PCI 62 select HAVE_PCI
63 select IRQ_TXX9 63 select IRQ_TXX9
64 select GPIO_TXX9 64 select GPIO_TXX9
65 65
@@ -67,7 +67,7 @@ config SOC_TX4927
67 bool 67 bool
68 select CEVT_TXX9 68 select CEVT_TXX9
69 select HAS_TXX9_SERIAL 69 select HAS_TXX9_SERIAL
70 select HW_HAS_PCI 70 select HAVE_PCI
71 select IRQ_TXX9 71 select IRQ_TXX9
72 select PCI_TX4927 72 select PCI_TX4927
73 select GPIO_TXX9 73 select GPIO_TXX9
@@ -77,7 +77,7 @@ config SOC_TX4938
77 bool 77 bool
78 select CEVT_TXX9 78 select CEVT_TXX9
79 select HAS_TXX9_SERIAL 79 select HAS_TXX9_SERIAL
80 select HW_HAS_PCI 80 select HAVE_PCI
81 select IRQ_TXX9 81 select IRQ_TXX9
82 select PCI_TX4927 82 select PCI_TX4927
83 select GPIO_TXX9 83 select GPIO_TXX9
@@ -87,7 +87,7 @@ config SOC_TX4939
87 bool 87 bool
88 select CEVT_TXX9 88 select CEVT_TXX9
89 select HAS_TXX9_SERIAL 89 select HAS_TXX9_SERIAL
90 select HW_HAS_PCI 90 select HAVE_PCI
91 select PCI_TX4927 91 select PCI_TX4927
92 select HAS_TXX9_ACLC 92 select HAS_TXX9_ACLC
93 93
diff --git a/arch/mips/vr41xx/Kconfig b/arch/mips/vr41xx/Kconfig
index 992c988b83b0..e0b651db371d 100644
--- a/arch/mips/vr41xx/Kconfig
+++ b/arch/mips/vr41xx/Kconfig
@@ -30,7 +30,7 @@ config TANBAC_TB022X
30 select CSRC_R4K 30 select CSRC_R4K
31 select DMA_NONCOHERENT 31 select DMA_NONCOHERENT
32 select IRQ_MIPS_CPU 32 select IRQ_MIPS_CPU
33 select HW_HAS_PCI 33 select HAVE_PCI
34 select SYS_SUPPORTS_32BIT_KERNEL 34 select SYS_SUPPORTS_32BIT_KERNEL
35 select SYS_SUPPORTS_LITTLE_ENDIAN 35 select SYS_SUPPORTS_LITTLE_ENDIAN
36 help 36 help
@@ -46,7 +46,7 @@ config VICTOR_MPC30X
46 select CSRC_R4K 46 select CSRC_R4K
47 select DMA_NONCOHERENT 47 select DMA_NONCOHERENT
48 select IRQ_MIPS_CPU 48 select IRQ_MIPS_CPU
49 select HW_HAS_PCI 49 select HAVE_PCI
50 select PCI_VR41XX 50 select PCI_VR41XX
51 select SYS_SUPPORTS_32BIT_KERNEL 51 select SYS_SUPPORTS_32BIT_KERNEL
52 select SYS_SUPPORTS_LITTLE_ENDIAN 52 select SYS_SUPPORTS_LITTLE_ENDIAN
@@ -57,7 +57,7 @@ config ZAO_CAPCELLA
57 select CSRC_R4K 57 select CSRC_R4K
58 select DMA_NONCOHERENT 58 select DMA_NONCOHERENT
59 select IRQ_MIPS_CPU 59 select IRQ_MIPS_CPU
60 select HW_HAS_PCI 60 select HAVE_PCI
61 select PCI_VR41XX 61 select PCI_VR41XX
62 select SYS_SUPPORTS_32BIT_KERNEL 62 select SYS_SUPPORTS_32BIT_KERNEL
63 select SYS_SUPPORTS_LITTLE_ENDIAN 63 select SYS_SUPPORTS_LITTLE_ENDIAN
@@ -99,6 +99,6 @@ endchoice
99 99
100config PCI_VR41XX 100config PCI_VR41XX
101 bool "Add PCI control unit support of NEC VR4100 series" 101 bool "Add PCI control unit support of NEC VR4100 series"
102 depends on MACH_VR41XX && HW_HAS_PCI 102 depends on MACH_VR41XX && HAVE_PCI
103 default y 103 default y
104 select PCI 104 select PCI
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
index 92a339ee28b3..b41d7e6aaa18 100644
--- a/arch/parisc/Kconfig
+++ b/arch/parisc/Kconfig
@@ -17,6 +17,7 @@ config PARISC
17 select INIT_ALL_POSSIBLE 17 select INIT_ALL_POSSIBLE
18 select BUG 18 select BUG
19 select BUILDTIME_EXTABLE_SORT 19 select BUILDTIME_EXTABLE_SORT
20 select HAVE_PCI
20 select HAVE_PERF_EVENTS 21 select HAVE_PERF_EVENTS
21 select HAVE_KERNEL_BZIP2 22 select HAVE_KERNEL_BZIP2
22 select HAVE_KERNEL_GZIP 23 select HAVE_KERNEL_GZIP
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 8be31261aec8..8eba699e8ea3 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -168,6 +168,7 @@ config PPC
168 select GENERIC_CPU_VULNERABILITIES if PPC_BARRIER_NOSPEC 168 select GENERIC_CPU_VULNERABILITIES if PPC_BARRIER_NOSPEC
169 select GENERIC_IRQ_SHOW 169 select GENERIC_IRQ_SHOW
170 select GENERIC_IRQ_SHOW_LEVEL 170 select GENERIC_IRQ_SHOW_LEVEL
171 select GENERIC_PCI_IOMAP if PCI
171 select GENERIC_SMP_IDLE_THREAD 172 select GENERIC_SMP_IDLE_THREAD
172 select GENERIC_STRNCPY_FROM_USER 173 select GENERIC_STRNCPY_FROM_USER
173 select GENERIC_STRNLEN_USER 174 select GENERIC_STRNLEN_USER
@@ -930,23 +931,6 @@ config FSL_GTM
930 help 931 help
931 Freescale General-purpose Timers support 932 Freescale General-purpose Timers support
932 933
933# Platforms that what PCI turned unconditionally just do select PCI
934# in their config node. Platforms that want to choose at config
935# time should select PPC_PCI_CHOICE
936config PPC_PCI_CHOICE
937 bool
938
939config PCI
940 bool "PCI support" if PPC_PCI_CHOICE
941 default y if !40x && !CPM2 && !PPC_8xx && !PPC_83xx \
942 && !PPC_85xx && !PPC_86xx && !GAMECUBE_COMMON
943 select GENERIC_PCI_IOMAP
944 help
945 Find out whether your system includes a PCI bus. PCI is the name of
946 a bus system, i.e. the way the CPU talks to the other stuff inside
947 your box. If you say Y here, the kernel will include drivers and
948 infrastructure code to support PCI bus devices.
949
950config PCI_DOMAINS 934config PCI_DOMAINS
951 def_bool PCI 935 def_bool PCI
952 936
@@ -959,8 +943,6 @@ config PCI_8260
959 select PPC_INDIRECT_PCI 943 select PPC_INDIRECT_PCI
960 default y 944 default y
961 945
962source "drivers/pci/Kconfig"
963
964source "drivers/pcmcia/Kconfig" 946source "drivers/pcmcia/Kconfig"
965 947
966config HAS_RAPIDIO 948config HAS_RAPIDIO
diff --git a/arch/powerpc/platforms/40x/Kconfig b/arch/powerpc/platforms/40x/Kconfig
index 5326ece36120..ad2bb1408b4c 100644
--- a/arch/powerpc/platforms/40x/Kconfig
+++ b/arch/powerpc/platforms/40x/Kconfig
@@ -11,7 +11,7 @@ config EP405
11 bool "EP405/EP405PC" 11 bool "EP405/EP405PC"
12 depends on 40x 12 depends on 40x
13 select 405GP 13 select 405GP
14 select PCI 14 select FORCE_PCI
15 help 15 help
16 This option enables support for the EP405/EP405PC boards. 16 This option enables support for the EP405/EP405PC boards.
17 17
@@ -19,7 +19,7 @@ config HOTFOOT
19 bool "Hotfoot" 19 bool "Hotfoot"
20 depends on 40x 20 depends on 40x
21 select PPC40x_SIMPLE 21 select PPC40x_SIMPLE
22 select PCI 22 select FORCE_PCI
23 help 23 help
24 This option enables support for the ESTEEM 195E Hotfoot board. 24 This option enables support for the ESTEEM 195E Hotfoot board.
25 25
@@ -29,7 +29,7 @@ config KILAUEA
29 select 405EX 29 select 405EX
30 select PPC40x_SIMPLE 30 select PPC40x_SIMPLE
31 select PPC4xx_PCI_EXPRESS 31 select PPC4xx_PCI_EXPRESS
32 select PCI 32 select FORCE_PCI
33 select PCI_MSI 33 select PCI_MSI
34 select PPC4xx_MSI 34 select PPC4xx_MSI
35 help 35 help
@@ -39,7 +39,7 @@ config MAKALU
39 bool "Makalu" 39 bool "Makalu"
40 depends on 40x 40 depends on 40x
41 select 405EX 41 select 405EX
42 select PCI 42 select FORCE_PCI
43 select PPC4xx_PCI_EXPRESS 43 select PPC4xx_PCI_EXPRESS
44 select PPC40x_SIMPLE 44 select PPC40x_SIMPLE
45 help 45 help
@@ -50,7 +50,7 @@ config WALNUT
50 depends on 40x 50 depends on 40x
51 default y 51 default y
52 select 405GP 52 select 405GP
53 select PCI 53 select FORCE_PCI
54 select OF_RTC 54 select OF_RTC
55 help 55 help
56 This option enables support for the IBM PPC405GP evaluation board. 56 This option enables support for the IBM PPC405GP evaluation board.
diff --git a/arch/powerpc/platforms/44x/Kconfig b/arch/powerpc/platforms/44x/Kconfig
index 9a85d350b1b6..4a9a72d01c3c 100644
--- a/arch/powerpc/platforms/44x/Kconfig
+++ b/arch/powerpc/platforms/44x/Kconfig
@@ -12,7 +12,7 @@ config BAMBOO
12 depends on 44x 12 depends on 44x
13 select PPC44x_SIMPLE 13 select PPC44x_SIMPLE
14 select 440EP 14 select 440EP
15 select PCI 15 select FORCE_PCI
16 help 16 help
17 This option enables support for the IBM PPC440EP evaluation board. 17 This option enables support for the IBM PPC440EP evaluation board.
18 18
@@ -21,7 +21,7 @@ config BLUESTONE
21 depends on 44x 21 depends on 44x
22 select PPC44x_SIMPLE 22 select PPC44x_SIMPLE
23 select APM821xx 23 select APM821xx
24 select PCI 24 select FORCE_PCI
25 select PCI_MSI 25 select PCI_MSI
26 select PPC4xx_MSI 26 select PPC4xx_MSI
27 select PPC4xx_PCI_EXPRESS 27 select PPC4xx_PCI_EXPRESS
@@ -34,7 +34,7 @@ config EBONY
34 depends on 44x 34 depends on 44x
35 default y 35 default y
36 select 440GP 36 select 440GP
37 select PCI 37 select FORCE_PCI
38 select OF_RTC 38 select OF_RTC
39 help 39 help
40 This option enables support for the IBM PPC440GP evaluation board. 40 This option enables support for the IBM PPC440GP evaluation board.
@@ -43,7 +43,7 @@ config SAM440EP
43 bool "Sam440ep" 43 bool "Sam440ep"
44 depends on 44x 44 depends on 44x
45 select 440EP 45 select 440EP
46 select PCI 46 select FORCE_PCI
47 help 47 help
48 This option enables support for the ACube Sam440ep board. 48 This option enables support for the ACube Sam440ep board.
49 49
@@ -60,7 +60,7 @@ config TAISHAN
60 depends on 44x 60 depends on 44x
61 select PPC44x_SIMPLE 61 select PPC44x_SIMPLE
62 select 440GX 62 select 440GX
63 select PCI 63 select FORCE_PCI
64 help 64 help
65 This option enables support for the AMCC PPC440GX "Taishan" 65 This option enables support for the AMCC PPC440GX "Taishan"
66 evaluation board. 66 evaluation board.
@@ -70,7 +70,7 @@ config KATMAI
70 depends on 44x 70 depends on 44x
71 select PPC44x_SIMPLE 71 select PPC44x_SIMPLE
72 select 440SPe 72 select 440SPe
73 select PCI 73 select FORCE_PCI
74 select PPC4xx_PCI_EXPRESS 74 select PPC4xx_PCI_EXPRESS
75 select PCI_MSI 75 select PCI_MSI
76 select PPC4xx_MSI 76 select PPC4xx_MSI
@@ -82,7 +82,7 @@ config RAINIER
82 depends on 44x 82 depends on 44x
83 select PPC44x_SIMPLE 83 select PPC44x_SIMPLE
84 select 440GRX 84 select 440GRX
85 select PCI 85 select FORCE_PCI
86 help 86 help
87 This option enables support for the AMCC PPC440GRX evaluation board. 87 This option enables support for the AMCC PPC440GRX evaluation board.
88 88
@@ -103,7 +103,7 @@ config ARCHES
103 depends on 44x 103 depends on 44x
104 select PPC44x_SIMPLE 104 select PPC44x_SIMPLE
105 select 460EX # Odd since it uses 460GT but the effects are the same 105 select 460EX # Odd since it uses 460GT but the effects are the same
106 select PCI 106 select FORCE_PCI
107 select PPC4xx_PCI_EXPRESS 107 select PPC4xx_PCI_EXPRESS
108 help 108 help
109 This option enables support for the AMCC Dual PPC460GT evaluation board. 109 This option enables support for the AMCC Dual PPC460GT evaluation board.
@@ -112,7 +112,7 @@ config CANYONLANDS
112 bool "Canyonlands" 112 bool "Canyonlands"
113 depends on 44x 113 depends on 44x
114 select 460EX 114 select 460EX
115 select PCI 115 select FORCE_PCI
116 select PPC4xx_PCI_EXPRESS 116 select PPC4xx_PCI_EXPRESS
117 select PCI_MSI 117 select PCI_MSI
118 select PPC4xx_MSI 118 select PPC4xx_MSI
@@ -126,7 +126,7 @@ config GLACIER
126 depends on 44x 126 depends on 44x
127 select PPC44x_SIMPLE 127 select PPC44x_SIMPLE
128 select 460EX # Odd since it uses 460GT but the effects are the same 128 select 460EX # Odd since it uses 460GT but the effects are the same
129 select PCI 129 select FORCE_PCI
130 select PPC4xx_PCI_EXPRESS 130 select PPC4xx_PCI_EXPRESS
131 select IBM_EMAC_RGMII if IBM_EMAC 131 select IBM_EMAC_RGMII if IBM_EMAC
132 select IBM_EMAC_ZMII if IBM_EMAC 132 select IBM_EMAC_ZMII if IBM_EMAC
@@ -138,7 +138,7 @@ config REDWOOD
138 depends on 44x 138 depends on 44x
139 select PPC44x_SIMPLE 139 select PPC44x_SIMPLE
140 select 460SX 140 select 460SX
141 select PCI 141 select FORCE_PCI
142 select PPC4xx_PCI_EXPRESS 142 select PPC4xx_PCI_EXPRESS
143 select PCI_MSI 143 select PCI_MSI
144 select PPC4xx_MSI 144 select PPC4xx_MSI
@@ -150,7 +150,7 @@ config EIGER
150 depends on 44x 150 depends on 44x
151 select PPC44x_SIMPLE 151 select PPC44x_SIMPLE
152 select 460SX 152 select 460SX
153 select PCI 153 select FORCE_PCI
154 select PPC4xx_PCI_EXPRESS 154 select PPC4xx_PCI_EXPRESS
155 select IBM_EMAC_RGMII if IBM_EMAC 155 select IBM_EMAC_RGMII if IBM_EMAC
156 help 156 help
@@ -161,7 +161,7 @@ config YOSEMITE
161 depends on 44x 161 depends on 44x
162 select PPC44x_SIMPLE 162 select PPC44x_SIMPLE
163 select 440EP 163 select 440EP
164 select PCI 164 select FORCE_PCI
165 help 165 help
166 This option enables support for the AMCC PPC440EP evaluation board. 166 This option enables support for the AMCC PPC440EP evaluation board.
167 167
@@ -201,7 +201,7 @@ config AKEBONO
201 select SWIOTLB 201 select SWIOTLB
202 select 476FPE 202 select 476FPE
203 select PPC4xx_PCI_EXPRESS 203 select PPC4xx_PCI_EXPRESS
204 select PCI 204 select FORCE_PCI
205 select PCI_MSI 205 select PCI_MSI
206 select PPC4xx_HSTA_MSI 206 select PPC4xx_HSTA_MSI
207 select I2C 207 select I2C
@@ -226,7 +226,7 @@ config ICON
226 depends on 44x 226 depends on 44x
227 select PPC44x_SIMPLE 227 select PPC44x_SIMPLE
228 select 440SPe 228 select 440SPe
229 select PCI 229 select FORCE_PCI
230 select PPC4xx_PCI_EXPRESS 230 select PPC4xx_PCI_EXPRESS
231 help 231 help
232 This option enables support for the AMCC PPC440SPe evaluation board. 232 This option enables support for the AMCC PPC440SPe evaluation board.
@@ -250,7 +250,7 @@ config XILINX_VIRTEX440_GENERIC_BOARD
250config XILINX_ML510 250config XILINX_ML510
251 bool "Xilinx ML510 extra support" 251 bool "Xilinx ML510 extra support"
252 depends on XILINX_VIRTEX440_GENERIC_BOARD 252 depends on XILINX_VIRTEX440_GENERIC_BOARD
253 select PPC_PCI_CHOICE 253 select HAVE_PCI
254 select XILINX_PCI if PCI 254 select XILINX_PCI if PCI
255 select PPC_INDIRECT_PCI if PCI 255 select PPC_INDIRECT_PCI if PCI
256 select PPC_I8259 if PCI 256 select PPC_I8259 if PCI
diff --git a/arch/powerpc/platforms/512x/Kconfig b/arch/powerpc/platforms/512x/Kconfig
index b59eab6cbb1b..d3716bf68f97 100644
--- a/arch/powerpc/platforms/512x/Kconfig
+++ b/arch/powerpc/platforms/512x/Kconfig
@@ -5,7 +5,7 @@ config PPC_MPC512x
5 select COMMON_CLK 5 select COMMON_CLK
6 select FSL_SOC 6 select FSL_SOC
7 select IPIC 7 select IPIC
8 select PPC_PCI_CHOICE 8 select HAVE_PCI
9 select FSL_PCI if PCI 9 select FSL_PCI if PCI
10 select USB_EHCI_BIG_ENDIAN_MMIO if USB_EHCI_HCD 10 select USB_EHCI_BIG_ENDIAN_MMIO if USB_EHCI_HCD
11 select USB_EHCI_BIG_ENDIAN_DESC if USB_EHCI_HCD 11 select USB_EHCI_BIG_ENDIAN_DESC if USB_EHCI_HCD
diff --git a/arch/powerpc/platforms/52xx/Kconfig b/arch/powerpc/platforms/52xx/Kconfig
index 55a587070342..b46850e039ee 100644
--- a/arch/powerpc/platforms/52xx/Kconfig
+++ b/arch/powerpc/platforms/52xx/Kconfig
@@ -3,7 +3,7 @@ config PPC_MPC52xx
3 bool "52xx-based boards" 3 bool "52xx-based boards"
4 depends on 6xx 4 depends on 6xx
5 select COMMON_CLK 5 select COMMON_CLK
6 select PPC_PCI_CHOICE 6 select HAVE_PCI
7 7
8config PPC_MPC5200_SIMPLE 8config PPC_MPC5200_SIMPLE
9 bool "Generic support for simple MPC5200 based boards" 9 bool "Generic support for simple MPC5200 based boards"
diff --git a/arch/powerpc/platforms/83xx/Kconfig b/arch/powerpc/platforms/83xx/Kconfig
index 071f53b0c0a0..9b225d2341c7 100644
--- a/arch/powerpc/platforms/83xx/Kconfig
+++ b/arch/powerpc/platforms/83xx/Kconfig
@@ -3,7 +3,7 @@ menuconfig PPC_83xx
3 bool "83xx-based boards" 3 bool "83xx-based boards"
4 depends on 6xx 4 depends on 6xx
5 select PPC_UDBG_16550 5 select PPC_UDBG_16550
6 select PPC_PCI_CHOICE 6 select HAVE_PCI
7 select FSL_PCI if PCI 7 select FSL_PCI if PCI
8 select FSL_SOC 8 select FSL_SOC
9 select IPIC 9 select IPIC
diff --git a/arch/powerpc/platforms/85xx/Kconfig b/arch/powerpc/platforms/85xx/Kconfig
index 68920d42b4bc..ba0ea84ce578 100644
--- a/arch/powerpc/platforms/85xx/Kconfig
+++ b/arch/powerpc/platforms/85xx/Kconfig
@@ -5,7 +5,7 @@ menuconfig FSL_SOC_BOOKE
5 select FSL_SOC 5 select FSL_SOC
6 select PPC_UDBG_16550 6 select PPC_UDBG_16550
7 select MPIC 7 select MPIC
8 select PPC_PCI_CHOICE 8 select HAVE_PCI
9 select FSL_PCI if PCI 9 select FSL_PCI if PCI
10 select SERIAL_8250_EXTENDED if SERIAL_8250 10 select SERIAL_8250_EXTENDED if SERIAL_8250
11 select SERIAL_8250_SHARE_IRQ if SERIAL_8250 11 select SERIAL_8250_SHARE_IRQ if SERIAL_8250
diff --git a/arch/powerpc/platforms/86xx/Kconfig b/arch/powerpc/platforms/86xx/Kconfig
index bcd179d3ed92..a4fa31a40502 100644
--- a/arch/powerpc/platforms/86xx/Kconfig
+++ b/arch/powerpc/platforms/86xx/Kconfig
@@ -70,7 +70,7 @@ endif
70 70
71config MPC8641 71config MPC8641
72 bool 72 bool
73 select PPC_PCI_CHOICE 73 select HAVE_PCI
74 select FSL_PCI if PCI 74 select FSL_PCI if PCI
75 select PPC_UDBG_16550 75 select PPC_UDBG_16550
76 select MPIC 76 select MPIC
@@ -79,7 +79,7 @@ config MPC8641
79 79
80config MPC8610 80config MPC8610
81 bool 81 bool
82 select PPC_PCI_CHOICE 82 select HAVE_PCI
83 select FSL_PCI if PCI 83 select FSL_PCI if PCI
84 select PPC_UDBG_16550 84 select PPC_UDBG_16550
85 select MPIC 85 select MPIC
diff --git a/arch/powerpc/platforms/Kconfig b/arch/powerpc/platforms/Kconfig
index 260a56b7602d..33586c1a39aa 100644
--- a/arch/powerpc/platforms/Kconfig
+++ b/arch/powerpc/platforms/Kconfig
@@ -265,7 +265,7 @@ config CPM2
265 bool "Enable support for the CPM2 (Communications Processor Module)" 265 bool "Enable support for the CPM2 (Communications Processor Module)"
266 depends on (FSL_SOC_BOOKE && PPC32) || 8260 266 depends on (FSL_SOC_BOOKE && PPC32) || 8260
267 select CPM 267 select CPM
268 select PPC_PCI_CHOICE 268 select HAVE_PCI
269 select GPIOLIB 269 select GPIOLIB
270 help 270 help
271 The CPM2 (Communications Processor Module) is a coprocessor on 271 The CPM2 (Communications Processor Module) is a coprocessor on
diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype
index f4e2c5729374..24638c45e3b7 100644
--- a/arch/powerpc/platforms/Kconfig.cputype
+++ b/arch/powerpc/platforms/Kconfig.cputype
@@ -39,14 +39,14 @@ config 40x
39 select PPC_DCR_NATIVE 39 select PPC_DCR_NATIVE
40 select PPC_UDBG_16550 40 select PPC_UDBG_16550
41 select 4xx_SOC 41 select 4xx_SOC
42 select PPC_PCI_CHOICE 42 select HAVE_PCI
43 43
44config 44x 44config 44x
45 bool "AMCC 44x, 46x or 47x" 45 bool "AMCC 44x, 46x or 47x"
46 select PPC_DCR_NATIVE 46 select PPC_DCR_NATIVE
47 select PPC_UDBG_16550 47 select PPC_UDBG_16550
48 select 4xx_SOC 48 select 4xx_SOC
49 select PPC_PCI_CHOICE 49 select HAVE_PCI
50 select PHYS_64BIT 50 select PHYS_64BIT
51 51
52config E200 52config E200
diff --git a/arch/powerpc/platforms/amigaone/Kconfig b/arch/powerpc/platforms/amigaone/Kconfig
index 03dc1e37c25b..977d281b4365 100644
--- a/arch/powerpc/platforms/amigaone/Kconfig
+++ b/arch/powerpc/platforms/amigaone/Kconfig
@@ -5,7 +5,7 @@ config AMIGAONE
5 select PPC_I8259 5 select PPC_I8259
6 select PPC_INDIRECT_PCI 6 select PPC_INDIRECT_PCI
7 select PPC_UDBG_16550 7 select PPC_UDBG_16550
8 select PCI 8 select FORCE_PCI
9 select NOT_COHERENT_CACHE 9 select NOT_COHERENT_CACHE
10 select CHECK_CACHE_COHERENCY 10 select CHECK_CACHE_COHERENCY
11 select DEFAULT_UIMAGE 11 select DEFAULT_UIMAGE
diff --git a/arch/powerpc/platforms/cell/Kconfig b/arch/powerpc/platforms/cell/Kconfig
index 4b2f114f3116..0f7c8241912b 100644
--- a/arch/powerpc/platforms/cell/Kconfig
+++ b/arch/powerpc/platforms/cell/Kconfig
@@ -27,7 +27,7 @@ config PPC_IBM_CELL_BLADE
27 depends on PPC64 && PPC_BOOK3S && CPU_BIG_ENDIAN 27 depends on PPC64 && PPC_BOOK3S && CPU_BIG_ENDIAN
28 select PPC_CELL_NATIVE 28 select PPC_CELL_NATIVE
29 select PPC_OF_PLATFORM_PCI 29 select PPC_OF_PLATFORM_PCI
30 select PCI 30 select FORCE_PCI
31 select MMIO_NVRAM 31 select MMIO_NVRAM
32 select PPC_UDBG_16550 32 select PPC_UDBG_16550
33 select UDBG_RTAS_CONSOLE 33 select UDBG_RTAS_CONSOLE
diff --git a/arch/powerpc/platforms/chrp/Kconfig b/arch/powerpc/platforms/chrp/Kconfig
index ead99eff875a..c11d33b246e3 100644
--- a/arch/powerpc/platforms/chrp/Kconfig
+++ b/arch/powerpc/platforms/chrp/Kconfig
@@ -12,5 +12,5 @@ config PPC_CHRP
12 select PPC_MPC106 12 select PPC_MPC106
13 select PPC_UDBG_16550 13 select PPC_UDBG_16550
14 select PPC_NATIVE 14 select PPC_NATIVE
15 select PCI 15 select FORCE_PCI
16 default y 16 default y
diff --git a/arch/powerpc/platforms/embedded6xx/Kconfig b/arch/powerpc/platforms/embedded6xx/Kconfig
index 8ea16db5ff48..fcb88f6946ed 100644
--- a/arch/powerpc/platforms/embedded6xx/Kconfig
+++ b/arch/powerpc/platforms/embedded6xx/Kconfig
@@ -52,7 +52,7 @@ config MVME5100
52 bool "Motorola/Emerson MVME5100" 52 bool "Motorola/Emerson MVME5100"
53 depends on EMBEDDED6xx 53 depends on EMBEDDED6xx
54 select MPIC 54 select MPIC
55 select PCI 55 select FORCE_PCI
56 select PPC_INDIRECT_PCI 56 select PPC_INDIRECT_PCI
57 select PPC_I8259 57 select PPC_I8259
58 select PPC_NATIVE 58 select PPC_NATIVE
@@ -63,7 +63,7 @@ config MVME5100
63 63
64config TSI108_BRIDGE 64config TSI108_BRIDGE
65 bool 65 bool
66 select PCI 66 select FORCE_PCI
67 select MPIC 67 select MPIC
68 select MPIC_WEIRD 68 select MPIC_WEIRD
69 69
diff --git a/arch/powerpc/platforms/maple/Kconfig b/arch/powerpc/platforms/maple/Kconfig
index 2601fac50354..08d530a2a8b1 100644
--- a/arch/powerpc/platforms/maple/Kconfig
+++ b/arch/powerpc/platforms/maple/Kconfig
@@ -2,7 +2,7 @@
2config PPC_MAPLE 2config PPC_MAPLE
3 depends on PPC64 && PPC_BOOK3S && CPU_BIG_ENDIAN 3 depends on PPC64 && PPC_BOOK3S && CPU_BIG_ENDIAN
4 bool "Maple 970FX Evaluation Board" 4 bool "Maple 970FX Evaluation Board"
5 select PCI 5 select FORCE_PCI
6 select MPIC 6 select MPIC
7 select U3_DART 7 select U3_DART
8 select MPIC_U3_HT_IRQS 8 select MPIC_U3_HT_IRQS
diff --git a/arch/powerpc/platforms/pasemi/Kconfig b/arch/powerpc/platforms/pasemi/Kconfig
index 98e3bc22bebc..c52731a7773f 100644
--- a/arch/powerpc/platforms/pasemi/Kconfig
+++ b/arch/powerpc/platforms/pasemi/Kconfig
@@ -3,7 +3,7 @@ config PPC_PASEMI
3 depends on PPC64 && PPC_BOOK3S && CPU_BIG_ENDIAN 3 depends on PPC64 && PPC_BOOK3S && CPU_BIG_ENDIAN
4 bool "PA Semi SoC-based platforms" 4 bool "PA Semi SoC-based platforms"
5 select MPIC 5 select MPIC
6 select PCI 6 select FORCE_PCI
7 select PPC_UDBG_16550 7 select PPC_UDBG_16550
8 select PPC_NATIVE 8 select PPC_NATIVE
9 select MPIC_BROKEN_REGREAD 9 select MPIC_BROKEN_REGREAD
diff --git a/arch/powerpc/platforms/powermac/Kconfig b/arch/powerpc/platforms/powermac/Kconfig
index fc90cb35cea3..f834a19ed772 100644
--- a/arch/powerpc/platforms/powermac/Kconfig
+++ b/arch/powerpc/platforms/powermac/Kconfig
@@ -3,7 +3,7 @@ config PPC_PMAC
3 bool "Apple PowerMac based machines" 3 bool "Apple PowerMac based machines"
4 depends on PPC_BOOK3S && CPU_BIG_ENDIAN 4 depends on PPC_BOOK3S && CPU_BIG_ENDIAN
5 select MPIC 5 select MPIC
6 select PCI 6 select FORCE_PCI
7 select PPC_INDIRECT_PCI if PPC32 7 select PPC_INDIRECT_PCI if PPC32
8 select PPC_MPC106 if PPC32 8 select PPC_MPC106 if PPC32
9 select PPC_NATIVE 9 select PPC_NATIVE
diff --git a/arch/powerpc/platforms/powernv/Kconfig b/arch/powerpc/platforms/powernv/Kconfig
index 99083fe992d5..850eee860cf2 100644
--- a/arch/powerpc/platforms/powernv/Kconfig
+++ b/arch/powerpc/platforms/powernv/Kconfig
@@ -7,7 +7,7 @@ config PPC_POWERNV
7 select PPC_ICP_NATIVE 7 select PPC_ICP_NATIVE
8 select PPC_XIVE_NATIVE 8 select PPC_XIVE_NATIVE
9 select PPC_P7_NAP 9 select PPC_P7_NAP
10 select PCI 10 select FORCE_PCI
11 select PCI_MSI 11 select PCI_MSI
12 select EPAPR_BOOT 12 select EPAPR_BOOT
13 select PPC_INDIRECT_PIO 13 select PPC_INDIRECT_PIO
diff --git a/arch/powerpc/platforms/ps3/Kconfig b/arch/powerpc/platforms/ps3/Kconfig
index 24864b8aaf5d..e32406e918d0 100644
--- a/arch/powerpc/platforms/ps3/Kconfig
+++ b/arch/powerpc/platforms/ps3/Kconfig
@@ -6,7 +6,7 @@ config PPC_PS3
6 select USB_OHCI_LITTLE_ENDIAN 6 select USB_OHCI_LITTLE_ENDIAN
7 select USB_OHCI_BIG_ENDIAN_MMIO 7 select USB_OHCI_BIG_ENDIAN_MMIO
8 select USB_EHCI_BIG_ENDIAN_MMIO 8 select USB_EHCI_BIG_ENDIAN_MMIO
9 select PPC_PCI_CHOICE 9 select HAVE_PCI
10 help 10 help
11 This option enables support for the Sony PS3 game console 11 This option enables support for the Sony PS3 game console
12 and other platforms using the PS3 hypervisor. Enabling this 12 and other platforms using the PS3 hypervisor. Enabling this
diff --git a/arch/powerpc/platforms/pseries/Kconfig b/arch/powerpc/platforms/pseries/Kconfig
index 2e4bd32154b5..1040daa166b4 100644
--- a/arch/powerpc/platforms/pseries/Kconfig
+++ b/arch/powerpc/platforms/pseries/Kconfig
@@ -5,7 +5,7 @@ config PPC_PSERIES
5 select HAVE_PCSPKR_PLATFORM 5 select HAVE_PCSPKR_PLATFORM
6 select MPIC 6 select MPIC
7 select OF_DYNAMIC 7 select OF_DYNAMIC
8 select PCI 8 select FORCE_PCI
9 select PCI_MSI 9 select PCI_MSI
10 select PPC_XICS 10 select PPC_XICS
11 select PPC_XIVE_SPAPR 11 select PPC_XIVE_SPAPR
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 55da93f4e818..f17a39fe9408 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -38,8 +38,10 @@ config RISCV
38 select SPARSE_IRQ 38 select SPARSE_IRQ
39 select SYSCTL_EXCEPTION_TRACE 39 select SYSCTL_EXCEPTION_TRACE
40 select HAVE_ARCH_TRACEHOOK 40 select HAVE_ARCH_TRACEHOOK
41 select HAVE_PCI
41 select MODULES_USE_ELF_RELA if MODULES 42 select MODULES_USE_ELF_RELA if MODULES
42 select THREAD_INFO_IN_TASK 43 select THREAD_INFO_IN_TASK
44 select PCI_MSI if PCI
43 select RISCV_TIMER 45 select RISCV_TIMER
44 select GENERIC_IRQ_MULTI_HANDLER 46 select GENERIC_IRQ_MULTI_HANDLER
45 select ARCH_HAS_PTE_SPECIAL 47 select ARCH_HAS_PTE_SPECIAL
@@ -263,28 +265,12 @@ config CMDLINE_FORCE
263 265
264endmenu 266endmenu
265 267
266menu "Bus support"
267
268config PCI
269 bool "PCI support"
270 select PCI_MSI
271 help
272 This feature enables support for PCI bus system. If you say Y
273 here, the kernel will include drivers and infrastructure code
274 to support PCI bus devices.
275
276 If you don't know what to do here, say Y.
277
278config PCI_DOMAINS 268config PCI_DOMAINS
279 def_bool PCI 269 def_bool PCI
280 270
281config PCI_DOMAINS_GENERIC 271config PCI_DOMAINS_GENERIC
282 def_bool PCI 272 def_bool PCI
283 273
284source "drivers/pci/Kconfig"
285
286endmenu
287
288menu "Power management options" 274menu "Power management options"
289 275
290source kernel/power/Kconfig 276source kernel/power/Kconfig
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index 5173366af8f3..9f05625d75b9 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -168,14 +168,20 @@ config S390
168 select HAVE_MOD_ARCH_SPECIFIC 168 select HAVE_MOD_ARCH_SPECIFIC
169 select HAVE_NOP_MCOUNT 169 select HAVE_NOP_MCOUNT
170 select HAVE_OPROFILE 170 select HAVE_OPROFILE
171 select HAVE_PCI
171 select HAVE_PERF_EVENTS 172 select HAVE_PERF_EVENTS
172 select HAVE_REGS_AND_STACK_ACCESS_API 173 select HAVE_REGS_AND_STACK_ACCESS_API
173 select HAVE_RSEQ 174 select HAVE_RSEQ
174 select HAVE_SYSCALL_TRACEPOINTS 175 select HAVE_SYSCALL_TRACEPOINTS
175 select HAVE_VIRT_CPU_ACCOUNTING 176 select HAVE_VIRT_CPU_ACCOUNTING
177 select IOMMU_HELPER if PCI
178 select IOMMU_SUPPORT if PCI
176 select MODULES_USE_ELF_RELA 179 select MODULES_USE_ELF_RELA
180 select NEED_DMA_MAP_STATE if PCI
181 select NEED_SG_DMA_LENGTH if PCI
177 select OLD_SIGACTION 182 select OLD_SIGACTION
178 select OLD_SIGSUSPEND3 183 select OLD_SIGSUSPEND3
184 select PCI_MSI if PCI
179 select SPARSE_IRQ 185 select SPARSE_IRQ
180 select SYSCTL_EXCEPTION_TRACE 186 select SYSCTL_EXCEPTION_TRACE
181 select THREAD_INFO_IN_TASK 187 select THREAD_INFO_IN_TASK
@@ -706,17 +712,6 @@ config QDIO
706 712
707 If unsure, say Y. 713 If unsure, say Y.
708 714
709menuconfig PCI
710 bool "PCI support"
711 select PCI_MSI
712 select IOMMU_HELPER
713 select IOMMU_SUPPORT
714 select NEED_DMA_MAP_STATE
715 select NEED_SG_DMA_LENGTH
716
717 help
718 Enable PCI support.
719
720if PCI 715if PCI
721 716
722config PCI_NR_FUNCTIONS 717config PCI_NR_FUNCTIONS
@@ -727,8 +722,6 @@ config PCI_NR_FUNCTIONS
727 This allows you to specify the maximum number of PCI functions which 722 This allows you to specify the maximum number of PCI functions which
728 this kernel will support. 723 this kernel will support.
729 724
730source "drivers/pci/Kconfig"
731
732endif # PCI 725endif # PCI
733 726
734config PCI_DOMAINS 727config PCI_DOMAINS
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index f82a4da7adf3..479566c76562 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -40,13 +40,16 @@ config SUPERH
40 select GENERIC_IDLE_POLL_SETUP 40 select GENERIC_IDLE_POLL_SETUP
41 select GENERIC_CLOCKEVENTS 41 select GENERIC_CLOCKEVENTS
42 select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST 42 select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST
43 select GENERIC_PCI_IOMAP if PCI
43 select GENERIC_SCHED_CLOCK 44 select GENERIC_SCHED_CLOCK
44 select GENERIC_STRNCPY_FROM_USER 45 select GENERIC_STRNCPY_FROM_USER
45 select GENERIC_STRNLEN_USER 46 select GENERIC_STRNLEN_USER
46 select HAVE_MOD_ARCH_SPECIFIC if DWARF_UNWINDER 47 select HAVE_MOD_ARCH_SPECIFIC if DWARF_UNWINDER
47 select MODULES_USE_ELF_RELA 48 select MODULES_USE_ELF_RELA
49 select NO_GENERIC_PCI_IOPORT_MAP if PCI
48 select OLD_SIGSUSPEND 50 select OLD_SIGSUSPEND
49 select OLD_SIGACTION 51 select OLD_SIGACTION
52 select PCI_DOMAINS if PCI
50 select HAVE_ARCH_AUDITSYSCALL 53 select HAVE_ARCH_AUDITSYSCALL
51 select HAVE_FUTEX_CMPXCHG if FUTEX 54 select HAVE_FUTEX_CMPXCHG if FUTEX
52 select HAVE_NMI 55 select HAVE_NMI
@@ -130,9 +133,6 @@ config SYS_SUPPORTS_SMP
130config SYS_SUPPORTS_NUMA 133config SYS_SUPPORTS_NUMA
131 bool 134 bool
132 135
133config SYS_SUPPORTS_PCI
134 bool
135
136config STACKTRACE_SUPPORT 136config STACKTRACE_SUPPORT
137 def_bool y 137 def_bool y
138 138
@@ -855,22 +855,9 @@ config MAPLE
855 Dreamcast with a serial line terminal or a remote network 855 Dreamcast with a serial line terminal or a remote network
856 connection. 856 connection.
857 857
858config PCI
859 bool "PCI support"
860 depends on SYS_SUPPORTS_PCI
861 select PCI_DOMAINS
862 select GENERIC_PCI_IOMAP
863 select NO_GENERIC_PCI_IOPORT_MAP
864 help
865 Find out whether you have a PCI motherboard. PCI is the name of a
866 bus system, i.e. the way the CPU talks to the other stuff inside
867 your box. If you have PCI, say Y, otherwise N.
868
869config PCI_DOMAINS 858config PCI_DOMAINS
870 bool 859 bool
871 860
872source "drivers/pci/Kconfig"
873
874source "drivers/pcmcia/Kconfig" 861source "drivers/pcmcia/Kconfig"
875 862
876endmenu 863endmenu
diff --git a/arch/sh/boards/Kconfig b/arch/sh/boards/Kconfig
index 6394b4f0a69b..b9a37057b77a 100644
--- a/arch/sh/boards/Kconfig
+++ b/arch/sh/boards/Kconfig
@@ -101,7 +101,7 @@ config SH_7751_SOLUTION_ENGINE
101config SH_7780_SOLUTION_ENGINE 101config SH_7780_SOLUTION_ENGINE
102 bool "SolutionEngine7780" 102 bool "SolutionEngine7780"
103 select SOLUTION_ENGINE 103 select SOLUTION_ENGINE
104 select SYS_SUPPORTS_PCI 104 select HAVE_PCI
105 depends on CPU_SUBTYPE_SH7780 105 depends on CPU_SUBTYPE_SH7780
106 help 106 help
107 Select 7780 SolutionEngine if configuring for a Renesas SH7780 107 Select 7780 SolutionEngine if configuring for a Renesas SH7780
@@ -129,7 +129,7 @@ config SH_HP6XX
129 129
130config SH_DREAMCAST 130config SH_DREAMCAST
131 bool "Dreamcast" 131 bool "Dreamcast"
132 select SYS_SUPPORTS_PCI 132 select HAVE_PCI
133 depends on CPU_SUBTYPE_SH7091 133 depends on CPU_SUBTYPE_SH7091
134 help 134 help
135 Select Dreamcast if configuring for a SEGA Dreamcast. 135 Select Dreamcast if configuring for a SEGA Dreamcast.
@@ -139,7 +139,7 @@ config SH_SH03
139 bool "Interface CTP/PCI-SH03" 139 bool "Interface CTP/PCI-SH03"
140 depends on CPU_SUBTYPE_SH7751 140 depends on CPU_SUBTYPE_SH7751
141 select CPU_HAS_IPR_IRQ 141 select CPU_HAS_IPR_IRQ
142 select SYS_SUPPORTS_PCI 142 select HAVE_PCI
143 help 143 help
144 CTP/PCI-SH03 is a CPU module computer that is produced 144 CTP/PCI-SH03 is a CPU module computer that is produced
145 by Interface Corporation. 145 by Interface Corporation.
@@ -149,7 +149,7 @@ config SH_SECUREEDGE5410
149 bool "SecureEdge5410" 149 bool "SecureEdge5410"
150 depends on CPU_SUBTYPE_SH7751R 150 depends on CPU_SUBTYPE_SH7751R
151 select CPU_HAS_IPR_IRQ 151 select CPU_HAS_IPR_IRQ
152 select SYS_SUPPORTS_PCI 152 select HAVE_PCI
153 help 153 help
154 Select SecureEdge5410 if configuring for a SnapGear SH board. 154 Select SecureEdge5410 if configuring for a SnapGear SH board.
155 This includes both the OEM SecureEdge products as well as the 155 This includes both the OEM SecureEdge products as well as the
@@ -158,7 +158,7 @@ config SH_SECUREEDGE5410
158config SH_RTS7751R2D 158config SH_RTS7751R2D
159 bool "RTS7751R2D" 159 bool "RTS7751R2D"
160 depends on CPU_SUBTYPE_SH7751R 160 depends on CPU_SUBTYPE_SH7751R
161 select SYS_SUPPORTS_PCI 161 select HAVE_PCI
162 select IO_TRAPPED if MMU 162 select IO_TRAPPED if MMU
163 help 163 help
164 Select RTS7751R2D if configuring for a Renesas Technology 164 Select RTS7751R2D if configuring for a Renesas Technology
@@ -176,7 +176,7 @@ config SH_RSK
176config SH_SDK7780 176config SH_SDK7780
177 bool "SDK7780R3" 177 bool "SDK7780R3"
178 depends on CPU_SUBTYPE_SH7780 178 depends on CPU_SUBTYPE_SH7780
179 select SYS_SUPPORTS_PCI 179 select HAVE_PCI
180 help 180 help
181 Select SDK7780 if configuring for a Renesas SH7780 SDK7780R3 181 Select SDK7780 if configuring for a Renesas SH7780 SDK7780R3
182 evaluation board. 182 evaluation board.
@@ -184,7 +184,7 @@ config SH_SDK7780
184config SH_SDK7786 184config SH_SDK7786
185 bool "SDK7786" 185 bool "SDK7786"
186 depends on CPU_SUBTYPE_SH7786 186 depends on CPU_SUBTYPE_SH7786
187 select SYS_SUPPORTS_PCI 187 select HAVE_PCI
188 select NO_IOPORT_MAP if !PCI 188 select NO_IOPORT_MAP if !PCI
189 select HAVE_SRAM_POOL 189 select HAVE_SRAM_POOL
190 select REGULATOR_FIXED_VOLTAGE if REGULATOR 190 select REGULATOR_FIXED_VOLTAGE if REGULATOR
@@ -195,7 +195,7 @@ config SH_SDK7786
195config SH_HIGHLANDER 195config SH_HIGHLANDER
196 bool "Highlander" 196 bool "Highlander"
197 depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 197 depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
198 select SYS_SUPPORTS_PCI 198 select HAVE_PCI
199 select IO_TRAPPED if MMU 199 select IO_TRAPPED if MMU
200 200
201config SH_SH7757LCR 201config SH_SH7757LCR
@@ -207,7 +207,7 @@ config SH_SH7757LCR
207config SH_SH7785LCR 207config SH_SH7785LCR
208 bool "SH7785LCR" 208 bool "SH7785LCR"
209 depends on CPU_SUBTYPE_SH7785 209 depends on CPU_SUBTYPE_SH7785
210 select SYS_SUPPORTS_PCI 210 select HAVE_PCI
211 211
212config SH_SH7785LCR_29BIT_PHYSMAPS 212config SH_SH7785LCR_29BIT_PHYSMAPS
213 bool "SH7785LCR 29bit physmaps" 213 bool "SH7785LCR 29bit physmaps"
@@ -229,7 +229,7 @@ config SH_URQUELL
229 bool "Urquell" 229 bool "Urquell"
230 depends on CPU_SUBTYPE_SH7786 230 depends on CPU_SUBTYPE_SH7786
231 select GPIOLIB 231 select GPIOLIB
232 select SYS_SUPPORTS_PCI 232 select HAVE_PCI
233 select NO_IOPORT_MAP if !PCI 233 select NO_IOPORT_MAP if !PCI
234 234
235config SH_MIGOR 235config SH_MIGOR
@@ -302,7 +302,7 @@ config SH_SH4202_MICRODEV
302config SH_LANDISK 302config SH_LANDISK
303 bool "LANDISK" 303 bool "LANDISK"
304 depends on CPU_SUBTYPE_SH7751R 304 depends on CPU_SUBTYPE_SH7751R
305 select SYS_SUPPORTS_PCI 305 select HAVE_PCI
306 help 306 help
307 I-O DATA DEVICE, INC. "LANDISK Series" support. 307 I-O DATA DEVICE, INC. "LANDISK Series" support.
308 308
@@ -310,7 +310,7 @@ config SH_TITAN
310 bool "TITAN" 310 bool "TITAN"
311 depends on CPU_SUBTYPE_SH7751R 311 depends on CPU_SUBTYPE_SH7751R
312 select CPU_HAS_IPR_IRQ 312 select CPU_HAS_IPR_IRQ
313 select SYS_SUPPORTS_PCI 313 select HAVE_PCI
314 help 314 help
315 Select Titan if you are configuring for a Nimble Microsystems 315 Select Titan if you are configuring for a Nimble Microsystems
316 NetEngine NP51R. 316 NetEngine NP51R.
@@ -325,7 +325,7 @@ config SH_SHMIN
325config SH_LBOX_RE2 325config SH_LBOX_RE2
326 bool "L-BOX RE2" 326 bool "L-BOX RE2"
327 depends on CPU_SUBTYPE_SH7751R 327 depends on CPU_SUBTYPE_SH7751R
328 select SYS_SUPPORTS_PCI 328 select HAVE_PCI
329 help 329 help
330 Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2. 330 Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.
331 331
@@ -346,7 +346,7 @@ config SH_MAGIC_PANEL_R2
346config SH_CAYMAN 346config SH_CAYMAN
347 bool "Hitachi Cayman" 347 bool "Hitachi Cayman"
348 depends on CPU_SUBTYPE_SH5_101 || CPU_SUBTYPE_SH5_103 348 depends on CPU_SUBTYPE_SH5_101 || CPU_SUBTYPE_SH5_103
349 select SYS_SUPPORTS_PCI 349 select HAVE_PCI
350 select ARCH_MIGHT_HAVE_PC_SERIO 350 select ARCH_MIGHT_HAVE_PC_SERIO
351 351
352config SH_POLARIS 352config SH_POLARIS
@@ -380,7 +380,7 @@ config SH_APSH4A3A
380config SH_APSH4AD0A 380config SH_APSH4AD0A
381 bool "AP-SH4AD-0A" 381 bool "AP-SH4AD-0A"
382 select SH_ALPHA_BOARD 382 select SH_ALPHA_BOARD
383 select SYS_SUPPORTS_PCI 383 select HAVE_PCI
384 select REGULATOR_FIXED_VOLTAGE if REGULATOR 384 select REGULATOR_FIXED_VOLTAGE if REGULATOR
385 depends on CPU_SUBTYPE_SH7786 385 depends on CPU_SUBTYPE_SH7786
386 help 386 help
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index 490b2c95c212..5a4d5264822b 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -21,6 +21,7 @@ config SPARC
21 select HAVE_ARCH_KGDB if !SMP || SPARC64 21 select HAVE_ARCH_KGDB if !SMP || SPARC64
22 select HAVE_ARCH_TRACEHOOK 22 select HAVE_ARCH_TRACEHOOK
23 select HAVE_EXIT_THREAD 23 select HAVE_EXIT_THREAD
24 select HAVE_PCI
24 select SYSCTL_EXCEPTION_TRACE 25 select SYSCTL_EXCEPTION_TRACE
25 select RTC_CLASS 26 select RTC_CLASS
26 select RTC_DRV_M48T59 27 select RTC_DRV_M48T59
@@ -472,18 +473,6 @@ config SUN_LDOMS
472 Say Y here is you want to support virtual devices via 473 Say Y here is you want to support virtual devices via
473 Logical Domains. 474 Logical Domains.
474 475
475config PCI
476 bool "Support for PCI and PS/2 keyboard/mouse"
477 help
478 Find out whether your system includes a PCI bus. PCI is the name of
479 a bus system, i.e. the way the CPU talks to the other stuff inside
480 your box. If you say Y here, the kernel will include drivers and
481 infrastructure code to support PCI bus devices.
482
483 CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
484 CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
485 All of these platforms are extremely obscure, so say N if unsure.
486
487config PCI_DOMAINS 476config PCI_DOMAINS
488 def_bool PCI if SPARC64 477 def_bool PCI if SPARC64
489 478
@@ -518,8 +507,6 @@ config SPARC_GRPCI2
518 help 507 help
519 Say Y here to include the GRPCI2 Host Bridge Driver. 508 Say Y here to include the GRPCI2 Host Bridge Driver.
520 509
521source "drivers/pci/Kconfig"
522
523source "drivers/pcmcia/Kconfig" 510source "drivers/pcmcia/Kconfig"
524 511
525config SUN_OPENPROMFS 512config SUN_OPENPROMFS
diff --git a/arch/um/Kconfig b/arch/um/Kconfig
index 6b9938919f0b..de982541a059 100644
--- a/arch/um/Kconfig
+++ b/arch/um/Kconfig
@@ -31,9 +31,6 @@ config ISA
31config SBUS 31config SBUS
32 bool 32 bool
33 33
34config PCI
35 bool
36
37config PCMCIA 34config PCMCIA
38 bool 35 bool
39 36
diff --git a/arch/unicore32/Kconfig b/arch/unicore32/Kconfig
index a4c05159dca5..4658859c6aee 100644
--- a/arch/unicore32/Kconfig
+++ b/arch/unicore32/Kconfig
@@ -11,6 +11,7 @@ config UNICORE32
11 select GENERIC_ATOMIC64 11 select GENERIC_ATOMIC64
12 select HAVE_KERNEL_LZO 12 select HAVE_KERNEL_LZO
13 select HAVE_KERNEL_LZMA 13 select HAVE_KERNEL_LZMA
14 select HAVE_PCI
14 select VIRT_TO_BUS 15 select VIRT_TO_BUS
15 select ARCH_HAVE_CUSTOM_GPIO_H 16 select ARCH_HAVE_CUSTOM_GPIO_H
16 select GENERIC_FIND_FIRST_BIT 17 select GENERIC_FIND_FIRST_BIT
@@ -118,16 +119,6 @@ endmenu
118 119
119menu "Bus support" 120menu "Bus support"
120 121
121config PCI
122 bool "PCI Support"
123 help
124 Find out whether you have a PCI motherboard. PCI is the name of a
125 bus system, i.e. the way the CPU talks to the other stuff inside
126 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
127 VESA. If you have PCI, say Y, otherwise N.
128
129source "drivers/pci/Kconfig"
130
131source "drivers/pcmcia/Kconfig" 122source "drivers/pcmcia/Kconfig"
132 123
133endmenu 124endmenu
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 9d734f3c8234..a8da60284822 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -180,6 +180,7 @@ config X86
180 select HAVE_PERF_EVENTS 180 select HAVE_PERF_EVENTS
181 select HAVE_PERF_EVENTS_NMI 181 select HAVE_PERF_EVENTS_NMI
182 select HAVE_HARDLOCKUP_DETECTOR_PERF if PERF_EVENTS && HAVE_PERF_EVENTS_NMI 182 select HAVE_HARDLOCKUP_DETECTOR_PERF if PERF_EVENTS && HAVE_PERF_EVENTS_NMI
183 select HAVE_PCI
183 select HAVE_PERF_REGS 184 select HAVE_PERF_REGS
184 select HAVE_PERF_USER_STACK_DUMP 185 select HAVE_PERF_USER_STACK_DUMP
185 select HAVE_RCU_TABLE_FREE if PARAVIRT 186 select HAVE_RCU_TABLE_FREE if PARAVIRT
@@ -2572,15 +2573,6 @@ endmenu
2572 2573
2573menu "Bus options (PCI etc.)" 2574menu "Bus options (PCI etc.)"
2574 2575
2575config PCI
2576 bool "PCI support"
2577 default y
2578 ---help---
2579 Find out whether you have a PCI motherboard. PCI is the name of a
2580 bus system, i.e. the way the CPU talks to the other stuff inside
2581 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
2582 VESA. If you have PCI, say Y, otherwise N.
2583
2584choice 2576choice
2585 prompt "PCI access mode" 2577 prompt "PCI access mode"
2586 depends on X86_32 && PCI 2578 depends on X86_32 && PCI
@@ -2663,8 +2655,6 @@ config PCI_CNB20LE_QUIRK
2663 2655
2664 You should say N unless you know you need this. 2656 You should say N unless you know you need this.
2665 2657
2666source "drivers/pci/Kconfig"
2667
2668config ISA_BUS 2658config ISA_BUS
2669 bool "ISA bus support on modern systems" if EXPERT 2659 bool "ISA bus support on modern systems" if EXPERT
2670 help 2660 help
diff --git a/arch/x86/configs/i386_defconfig b/arch/x86/configs/i386_defconfig
index 6c3ab05c231d..4bb95d7ad947 100644
--- a/arch/x86/configs/i386_defconfig
+++ b/arch/x86/configs/i386_defconfig
@@ -69,6 +69,7 @@ CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
69CONFIG_CPU_FREQ_GOV_PERFORMANCE=y 69CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
70CONFIG_CPU_FREQ_GOV_ONDEMAND=y 70CONFIG_CPU_FREQ_GOV_ONDEMAND=y
71CONFIG_X86_ACPI_CPUFREQ=y 71CONFIG_X86_ACPI_CPUFREQ=y
72CONFIG_PCI=y
72CONFIG_PCIEPORTBUS=y 73CONFIG_PCIEPORTBUS=y
73CONFIG_PCI_MSI=y 74CONFIG_PCI_MSI=y
74CONFIG_PCCARD=y 75CONFIG_PCCARD=y
diff --git a/arch/x86/configs/x86_64_defconfig b/arch/x86/configs/x86_64_defconfig
index ac9ae487cfeb..0fed049422a8 100644
--- a/arch/x86/configs/x86_64_defconfig
+++ b/arch/x86/configs/x86_64_defconfig
@@ -67,6 +67,7 @@ CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
67CONFIG_CPU_FREQ_GOV_PERFORMANCE=y 67CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
68CONFIG_CPU_FREQ_GOV_ONDEMAND=y 68CONFIG_CPU_FREQ_GOV_ONDEMAND=y
69CONFIG_X86_ACPI_CPUFREQ=y 69CONFIG_X86_ACPI_CPUFREQ=y
70CONFIG_PCI=y
70CONFIG_PCI_MMCONFIG=y 71CONFIG_PCI_MMCONFIG=y
71CONFIG_PCIEPORTBUS=y 72CONFIG_PCIEPORTBUS=y
72CONFIG_PCCARD=y 73CONFIG_PCCARD=y
diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig
index d29b7365da8d..2865a556163a 100644
--- a/arch/xtensa/Kconfig
+++ b/arch/xtensa/Kconfig
@@ -26,6 +26,7 @@ config XTENSA
26 select HAVE_HW_BREAKPOINT if PERF_EVENTS 26 select HAVE_HW_BREAKPOINT if PERF_EVENTS
27 select HAVE_IRQ_TIME_ACCOUNTING 27 select HAVE_IRQ_TIME_ACCOUNTING
28 select HAVE_OPROFILE 28 select HAVE_OPROFILE
29 select HAVE_PCI
29 select HAVE_PERF_EVENTS 30 select HAVE_PERF_EVENTS
30 select HAVE_STACKPROTECTOR 31 select HAVE_STACKPROTECTOR
31 select IRQ_DOMAIN 32 select IRQ_DOMAIN
@@ -379,21 +380,6 @@ config XTENSA_CALIBRATE_CCOUNT
379config SERIAL_CONSOLE 380config SERIAL_CONSOLE
380 def_bool n 381 def_bool n
381 382
382menu "Bus options"
383
384config PCI
385 bool "PCI support"
386 default y
387 help
388 Find out whether you have a PCI motherboard. PCI is the name of a
389 bus system, i.e. the way the CPU talks to the other stuff inside
390 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
391 VESA. If you have PCI, say Y, otherwise N.
392
393source "drivers/pci/Kconfig"
394
395endmenu
396
397menu "Platform options" 383menu "Platform options"
398 384
399choice 385choice
diff --git a/arch/xtensa/configs/common_defconfig b/arch/xtensa/configs/common_defconfig
index 4bcc76b02109..fa9389869154 100644
--- a/arch/xtensa/configs/common_defconfig
+++ b/arch/xtensa/configs/common_defconfig
@@ -1,3 +1,4 @@
1CONFIG_PCI=y
1CONFIG_SYSVIPC=y 2CONFIG_SYSVIPC=y
2CONFIG_BSD_PROCESS_ACCT=y 3CONFIG_BSD_PROCESS_ACCT=y
3CONFIG_LOG_BUF_SHIFT=14 4CONFIG_LOG_BUF_SHIFT=14
diff --git a/drivers/Kconfig b/drivers/Kconfig
index ab4d43923c4d..059573823387 100644
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
@@ -1,7 +1,11 @@
1# SPDX-License-Identifier: GPL-2.0 1# SPDX-License-Identifier: GPL-2.0
2menu "Device Drivers" 2menu "Device Drivers"
3 3
4# Keep I/O buses first
5
4source "drivers/amba/Kconfig" 6source "drivers/amba/Kconfig"
7source "drivers/pci/Kconfig"
8
5 9
6source "drivers/base/Kconfig" 10source "drivers/base/Kconfig"
7 11
diff --git a/drivers/parisc/Kconfig b/drivers/parisc/Kconfig
index 5a48b5606110..5bbfea1a019c 100644
--- a/drivers/parisc/Kconfig
+++ b/drivers/parisc/Kconfig
@@ -63,17 +63,6 @@ config ISA
63 If you want to plug an ISA card into your EISA bus, say Y here. 63 If you want to plug an ISA card into your EISA bus, say Y here.
64 Most people should say N. 64 Most people should say N.
65 65
66config PCI
67 bool "PCI support"
68 help
69 All recent HP machines have PCI slots, and you should say Y here
70 if you have a recent machine. If you are convinced you do not have
71 PCI slots in your machine (eg a 712), then you may say "N" here.
72 Beware that some GSC cards have a Dino onboard and PCI inside them,
73 so it may be safest to say "Y" anyway.
74
75source "drivers/pci/Kconfig"
76
77config GSC_DINO 66config GSC_DINO
78 bool "GSCtoPCI/Dino PCI support" 67 bool "GSCtoPCI/Dino PCI support"
79 depends on PCI && GSC 68 depends on PCI && GSC
diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
index 2dcc30429e8b..e11a02acce1b 100644
--- a/drivers/pci/Kconfig
+++ b/drivers/pci/Kconfig
@@ -3,6 +3,24 @@
3# PCI configuration 3# PCI configuration
4# 4#
5 5
6# select this to offer the PCI prompt
7config HAVE_PCI
8 bool
9
10# select this to unconditionally force on PCI support
11config FORCE_PCI
12 bool
13 select HAVE_PCI
14 select PCI
15
16menuconfig PCI
17 bool "PCI support"
18 depends on HAVE_PCI
19 help
20 This option enables support for the PCI local bus, including
21 support for PCI-X and the foundations for PCI Express support.
22 Say 'Y' here unless you know what you are doing.
23
6source "drivers/pci/pcie/Kconfig" 24source "drivers/pci/pcie/Kconfig"
7 25
8config PCI_MSI 26config PCI_MSI
diff --git a/drivers/pci/endpoint/Kconfig b/drivers/pci/endpoint/Kconfig
index d1e7e4199432..17bbdc9bbde0 100644
--- a/drivers/pci/endpoint/Kconfig
+++ b/drivers/pci/endpoint/Kconfig
@@ -7,7 +7,7 @@ menu "PCI Endpoint"
7 7
8config PCI_ENDPOINT 8config PCI_ENDPOINT
9 bool "PCI Endpoint Support" 9 bool "PCI Endpoint Support"
10 depends on HAS_DMA 10 depends on HAVE_PCI
11 help 11 help
12 Enable this configuration option to support configurable PCI 12 Enable this configuration option to support configurable PCI
13 endpoint. This should be enabled if the platform has a PCI 13 endpoint. This should be enabled if the platform has a PCI