Skip to content

Commit eb01d42

Browse files
Christoph Hellwigmasahir0y
authored andcommitted
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>
1 parent 437f2b8 commit eb01d42

File tree

69 files changed

+195
-377
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+195
-377
lines changed

arch/alpha/Kconfig

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ config ALPHA
66
select ARCH_MIGHT_HAVE_PC_SERIO
77
select ARCH_NO_PREEMPT
88
select ARCH_USE_CMPXCHG_LOCKREF
9+
select FORCE_PCI if !ALPHA_JENSEN
910
select HAVE_AOUT
1011
select HAVE_IDE
1112
select HAVE_OPROFILE
@@ -15,6 +16,7 @@ config ALPHA
1516
select NEED_SG_DMA_LENGTH
1617
select VIRT_TO_BUS
1718
select GENERIC_IRQ_PROBE
19+
select GENERIC_PCI_IOMAP if PCI
1820
select AUTO_IRQ_AFFINITY if SMP
1921
select GENERIC_IRQ_SHOW
2022
select ARCH_WANT_IPC_PARSE_VERSION
@@ -319,17 +321,6 @@ config ISA_DMA_API
319321
bool
320322
default y
321323

322-
config 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-
333324
config PCI_DOMAINS
334325
bool
335326
default y
@@ -681,7 +672,6 @@ config HZ
681672
default 1200 if HZ_1200
682673
default 1024
683674

684-
source "drivers/pci/Kconfig"
685675
source "drivers/eisa/Kconfig"
686676

687677
source "drivers/pcmcia/Kconfig"

arch/arc/Kconfig

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,6 @@ config ARC
5151
config ARCH_HAS_CACHE_LINE_SIZE
5252
def_bool y
5353

54-
config MIGHT_HAVE_PCI
55-
bool
56-
5754
config TRACE_IRQFLAGS_SUPPORT
5855
def_bool y
5956

@@ -553,24 +550,7 @@ config FORCE_MAX_ZONEORDER
553550
default "12" if ARC_HUGEPAGE_16M
554551
default "11"
555552

556-
menu "Bus Support"
557-
558-
config 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-
569553
config PCI_SYSCALL
570554
def_bool PCI
571555

572-
source "drivers/pci/Kconfig"
573-
574-
endmenu
575-
576556
source "kernel/power/Kconfig"

arch/arc/plat-axs10x/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ menuconfig ARC_PLAT_AXS10X
1111
select DW_APB_ICTL
1212
select GPIO_DWAPB
1313
select OF_GPIO
14-
select MIGHT_HAVE_PCI
14+
select HAVE_PCI
1515
select GENERIC_IRQ_CHIP
1616
select GPIOLIB
1717
select AXS101 if ISA_ARCOMPACT

arch/arc/plat-hsdk/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@ menuconfig ARC_SOC_HSDK
1111
select ARC_HAS_ACCL_REGS
1212
select CLK_HSDK
1313
select RESET_HSDK
14-
select MIGHT_HAVE_PCI
14+
select HAVE_PCI

arch/arm/Kconfig

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -147,9 +147,6 @@ config ARM_DMA_IOMMU_ALIGNMENT
147147

148148
endif
149149

150-
config MIGHT_HAVE_PCI
151-
bool
152-
153150
config SYS_SUPPORTS_APM_EMULATION
154151
bool
155152

@@ -333,7 +330,7 @@ config ARCH_MULTIPLATFORM
333330
select COMMON_CLK
334331
select GENERIC_CLOCKEVENTS
335332
select GENERIC_IRQ_MULTI_HANDLER
336-
select MIGHT_HAVE_PCI
333+
select HAVE_PCI
337334
select PCI_DOMAINS if PCI
338335
select SPARSE_IRQ
339336
select USE_OF
@@ -407,7 +404,7 @@ config ARCH_IOP13XX
407404
select CPU_XSC3
408405
select NEED_MACH_MEMORY_H
409406
select NEED_RET_TO_USER
410-
select PCI
407+
select FORCE_PCI
411408
select PLAT_IOP
412409
select VMSPLIT_1G
413410
select SPARSE_IRQ
@@ -421,7 +418,7 @@ config ARCH_IOP32X
421418
select GPIO_IOP
422419
select GPIOLIB
423420
select NEED_RET_TO_USER
424-
select PCI
421+
select FORCE_PCI
425422
select PLAT_IOP
426423
help
427424
Support for Intel's 80219 and IOP32X (XScale) family of
@@ -434,7 +431,7 @@ config ARCH_IOP33X
434431
select GPIO_IOP
435432
select GPIOLIB
436433
select NEED_RET_TO_USER
437-
select PCI
434+
select FORCE_PCI
438435
select PLAT_IOP
439436
help
440437
Support for Intel's IOP33X (XScale) family of processors.
@@ -449,7 +446,7 @@ config ARCH_IXP4XX
449446
select DMABOUNCE if PCI
450447
select GENERIC_CLOCKEVENTS
451448
select GPIOLIB
452-
select MIGHT_HAVE_PCI
449+
select HAVE_PCI
453450
select NEED_MACH_IO_H
454451
select USB_EHCI_BIG_ENDIAN_DESC
455452
select USB_EHCI_BIG_ENDIAN_MMIO
@@ -462,7 +459,7 @@ config ARCH_DOVE
462459
select GENERIC_CLOCKEVENTS
463460
select GENERIC_IRQ_MULTI_HANDLER
464461
select GPIOLIB
465-
select MIGHT_HAVE_PCI
462+
select HAVE_PCI
466463
select MVEBU_MBUS
467464
select PINCTRL
468465
select PINCTRL_DOVE
@@ -1230,14 +1227,6 @@ config ISA_DMA
12301227
config ISA_DMA_API
12311228
bool
12321229

1233-
config 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-
12411230
config PCI_DOMAINS
12421231
bool "Support for multiple PCI domains"
12431232
depends on PCI
@@ -1266,8 +1255,6 @@ config PCI_HOST_ITE8152
12661255
default y
12671256
select DMABOUNCE
12681257

1269-
source "drivers/pci/Kconfig"
1270-
12711258
source "drivers/pcmcia/Kconfig"
12721259

12731260
endmenu

arch/arm/mach-alpine/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ config ARCH_ALPINE
99
select HAVE_ARM_ARCH_TIMER
1010
select HAVE_SMP
1111
select MFD_SYSCON
12-
select PCI
12+
select FORCE_PCI
1313
select PCI_HOST_GENERIC
1414
help
1515
This enables support for the Annapurna Labs Alpine V1 boards.

arch/arm/mach-footbridge/Kconfig

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ config ARCH_CATS
99
select FOOTBRIDGE_HOST
1010
select ISA
1111
select ISA_DMA
12-
select PCI
12+
select FORCE_PCI
1313
help
1414
Say Y here if you intend to run this kernel on the CATS.
1515

@@ -20,7 +20,7 @@ config ARCH_PERSONAL_SERVER
2020
select FOOTBRIDGE_HOST
2121
select ISA
2222
select ISA_DMA
23-
select PCI
23+
select FORCE_PCI
2424
---help---
2525
Say Y here if you intend to run this kernel on the Compaq
2626
Personal Server.
@@ -53,7 +53,7 @@ config ARCH_EBSA285_HOST
5353
select ISA
5454
select ISA_DMA
5555
select ARCH_MAY_HAVE_PC_FDC
56-
select PCI
56+
select FORCE_PCI
5757
help
5858
Say Y here if you intend to run this kernel on the EBSA285 card
5959
in host ("central function") mode.
@@ -67,7 +67,7 @@ config ARCH_NETWINDER
6767
select FOOTBRIDGE_HOST
6868
select ISA
6969
select ISA_DMA
70-
select PCI
70+
select FORCE_PCI
7171
help
7272
Say Y here if you intend to run this kernel on the Rebel.COM
7373
NetWinder. Information about this machine can be found at:

arch/arm/mach-ixp4xx/Kconfig

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ comment "IXP4xx Platforms"
77
config MACH_NSLU2
88
bool
99
prompt "Linksys NSLU2"
10-
select PCI
10+
select FORCE_PCI
1111
help
1212
Say 'Y' here if you want your kernel to support Linksys's
1313
NSLU2 NAS device. For more information on this platform,
1414
see http://www.nslu2-linux.org
1515

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

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

4040
config MACH_GATEWAY7001
4141
bool "Gateway 7001"
42-
select PCI
42+
select FORCE_PCI
4343
help
4444
Say 'Y' here if you want your kernel to support Gateway's
4545
7001 Access Point. For more information on this platform,
4646
see http://openwrt.org
4747

4848
config MACH_WG302V2
4949
bool "Netgear WG302 v2 / WAG302 v2"
50-
select PCI
50+
select FORCE_PCI
5151
help
5252
Say 'Y' here if you want your kernel to support Netgear's
5353
WG302 v2 or WAG302 v2 Access Points. For more information
@@ -107,7 +107,7 @@ config ARCH_PRPMC1100
107107
config MACH_NAS100D
108108
bool
109109
prompt "NAS100D"
110-
select PCI
110+
select FORCE_PCI
111111
help
112112
Say 'Y' here if you want your kernel to support Iomega's
113113
NAS 100d device. For more information on this platform,
@@ -116,7 +116,7 @@ config MACH_NAS100D
116116
config MACH_DSMG600
117117
bool
118118
prompt "D-Link DSM-G600 RevA"
119-
select PCI
119+
select FORCE_PCI
120120
help
121121
Say 'Y' here if you want your kernel to support D-Link's
122122
DSM-G600 RevA device. For more information on this platform,
@@ -130,7 +130,7 @@ config ARCH_IXDP4XX
130130
config MACH_FSG
131131
bool
132132
prompt "Freecom FSG-3"
133-
select PCI
133+
select FORCE_PCI
134134
help
135135
Say 'Y' here if you want your kernel to support Freecom's
136136
FSG-3 device. For more information on this platform,
@@ -139,7 +139,7 @@ config MACH_FSG
139139
config MACH_ARCOM_VULCAN
140140
bool
141141
prompt "Arcom/Eurotech Vulcan"
142-
select PCI
142+
select FORCE_PCI
143143
help
144144
Say 'Y' here if you want your kernel to support Arcom's
145145
Vulcan board.
@@ -160,7 +160,7 @@ config CPU_IXP43X
160160
config MACH_GTWX5715
161161
bool "Gemtek WX5715 (Linksys WRV54G)"
162162
depends on ARCH_IXP4XX
163-
select PCI
163+
select FORCE_PCI
164164
help
165165
This board is currently inside the Linksys WRV54G Gateways.
166166

@@ -183,7 +183,7 @@ config MACH_DEVIXP
183183

184184
config MACH_MICCPT
185185
bool "Omicron MICCPT"
186-
select PCI
186+
select FORCE_PCI
187187
help
188188
Say 'Y' here if you want your kernel to support the MICCPT
189189
board from OMICRON electronics GmbH.

arch/arm/mach-ks8695/Kconfig

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ menu "Kendin/Micrel KS8695 Implementations"
44

55
config MACH_KS8695
66
bool "KS8695 development board"
7-
select MIGHT_HAVE_PCI
7+
select HAVE_PCI
88
help
99
Say 'Y' here if you want your kernel to run on the original
1010
Kendin-Micrel KS8695 development board.
@@ -52,31 +52,31 @@ config MACH_CM4002
5252

5353
config MACH_CM4008
5454
bool "OpenGear CM4008"
55-
select MIGHT_HAVE_PCI
55+
select HAVE_PCI
5656
help
5757
Say 'Y' here if you want your kernel to support the OpenGear
5858
CM4008 Console Server. See http://www.opengear.com for more
5959
details.
6060

6161
config MACH_CM41xx
6262
bool "OpenGear CM41xx"
63-
select MIGHT_HAVE_PCI
63+
select HAVE_PCI
6464
help
6565
Say 'Y' here if you want your kernel to support the OpenGear
6666
CM4016 or CM4048 Console Servers. See http://www.opengear.com for
6767
more details.
6868

6969
config MACH_IM4004
7070
bool "OpenGear IM4004"
71-
select MIGHT_HAVE_PCI
71+
select HAVE_PCI
7272
help
7373
Say 'Y' here if you want your kernel to support the OpenGear
7474
IM4004 Secure Access Server. See http://www.opengear.com for
7575
more details.
7676

7777
config MACH_IM42xx
7878
bool "OpenGear IM42xx"
79-
select MIGHT_HAVE_PCI
79+
select HAVE_PCI
8080
help
8181
Say 'Y' here if you want your kernel to support the OpenGear
8282
IM4216 or IM4248 Console Servers. See http://www.opengear.com for

arch/arm/mach-mv78xx0/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ menuconfig ARCH_MV78XX0
44
select CPU_FEROCEON
55
select GPIOLIB
66
select MVEBU_MBUS
7-
select PCI
7+
select FORCE_PCI
88
select PLAT_ORION_LEGACY
99
help
1010
Support for the following Marvell MV78xx0 series SoCs:

arch/arm/mach-mvebu/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ config MACH_KIRKWOOD
124124
select MACH_MVEBU_ANY
125125
select ORION_IRQCHIP
126126
select ORION_TIMER
127-
select PCI
127+
select FORCE_PCI
128128
select PCI_QUIRKS
129129
select PINCTRL_KIRKWOOD
130130
help

arch/arm/mach-orion5x/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ menuconfig ARCH_ORION5X
55
select GENERIC_CLOCKEVENTS
66
select GPIOLIB
77
select MVEBU_MBUS
8-
select PCI
8+
select FORCE_PCI
99
select PHYLIB if NETDEVICES
1010
select PLAT_ORION_LEGACY
1111
help

0 commit comments

Comments
 (0)