1# SPDX-License-Identifier: GPL-2.0
2#
3# PCI Hotplug support
4#
5
6menuconfig HOTPLUG_PCI
7	bool "Support for PCI Hotplug"
8	depends on PCI && SYSFS
9	default y if USB4
10	help
11	  Say Y here if you have a motherboard with a PCI Hotplug controller.
12	  This allows you to add and remove PCI cards while the machine is
13	  powered up and running.
14
15	  Thunderbolt/USB4 PCIe tunneling depends on native PCIe hotplug.
16
17	  When in doubt, say N.
18
19if HOTPLUG_PCI
20
21config HOTPLUG_PCI_COMPAQ
22	tristate "Compaq PCI Hotplug driver"
23	depends on X86 && PCI_BIOS
24	help
25	  Say Y here if you have a motherboard with a Compaq PCI Hotplug
26	  controller.
27
28	  To compile this driver as a module, choose M here: the
29	  module will be called cpqphp.
30
31	  When in doubt, say N.
32
33config HOTPLUG_PCI_COMPAQ_NVRAM
34	bool "Save configuration into NVRAM on Compaq servers"
35	depends on HOTPLUG_PCI_COMPAQ
36	help
37	  Say Y here if you have a Compaq server that has a PCI Hotplug
38	  controller.  This will allow the PCI Hotplug driver to store the PCI
39	  system configuration options in NVRAM.
40
41	  When in doubt, say N.
42
43config HOTPLUG_PCI_IBM
44	tristate "IBM PCI Hotplug driver"
45	depends on X86_IO_APIC && X86 && PCI_BIOS
46	help
47	  Say Y here if you have a motherboard with a IBM PCI Hotplug
48	  controller.
49
50	  To compile this driver as a module, choose M here: the
51	  module will be called ibmphp.
52
53	  When in doubt, say N.
54
55config HOTPLUG_PCI_ACPI
56	bool "ACPI PCI Hotplug driver"
57	depends on HOTPLUG_PCI=y && ((!ACPI_DOCK && ACPI) || (ACPI_DOCK))
58	help
59	  Say Y here if you have a system that supports PCI Hotplug using
60	  ACPI.
61
62	  When in doubt, say N.
63
64config HOTPLUG_PCI_ACPI_AMPERE_ALTRA
65	tristate "ACPI PCI Hotplug driver Ampere Altra extensions"
66	depends on HOTPLUG_PCI_ACPI
67	depends on HAVE_ARM_SMCCC_DISCOVERY
68	help
69	  Say Y here if you have an Ampere Altra system.
70
71	  To compile this driver as a module, choose M here: the
72	  module will be called acpiphp_ampere_altra.
73
74	  When in doubt, say N.
75
76config HOTPLUG_PCI_ACPI_IBM
77	tristate "ACPI PCI Hotplug driver IBM extensions"
78	depends on HOTPLUG_PCI_ACPI
79	help
80	  Say Y here if you have an IBM system that supports PCI Hotplug using
81	  ACPI.
82
83	  To compile this driver as a module, choose M here: the
84	  module will be called acpiphp_ibm.
85
86	  When in doubt, say N.
87
88config HOTPLUG_PCI_CPCI
89	bool "CompactPCI Hotplug driver"
90	help
91	  Say Y here if you have a CompactPCI system card with CompactPCI
92	  hotswap support per the PICMG 2.1 specification.
93
94	  When in doubt, say N.
95
96config HOTPLUG_PCI_CPCI_ZT5550
97	tristate "Ziatech ZT5550 CompactPCI Hotplug driver"
98	depends on HOTPLUG_PCI_CPCI && X86
99	help
100	  Say Y here if you have an Performance Technologies (formerly Intel,
101	  formerly just Ziatech) Ziatech ZT5550 CompactPCI system card.
102
103	  To compile this driver as a module, choose M here: the
104	  module will be called cpcihp_zt5550.
105
106	  When in doubt, say N.
107
108config HOTPLUG_PCI_CPCI_GENERIC
109	tristate "Generic port I/O CompactPCI Hotplug driver"
110	depends on HOTPLUG_PCI_CPCI && X86
111	help
112	  Say Y here if you have a CompactPCI system card that exposes the #ENUM
113	  hotswap signal as a bit in a system register that can be read through
114	  standard port I/O.
115
116	  To compile this driver as a module, choose M here: the
117	  module will be called cpcihp_generic.
118
119	  When in doubt, say N.
120
121config HOTPLUG_PCI_SHPC
122	bool "SHPC PCI Hotplug driver"
123	help
124	  Say Y here if you have a motherboard with a SHPC PCI Hotplug
125	  controller.
126
127	  When in doubt, say N.
128
129config HOTPLUG_PCI_POWERNV
130	tristate "PowerPC PowerNV PCI Hotplug driver"
131	depends on PPC_POWERNV && EEH
132	select OF_DYNAMIC
133	help
134	  Say Y here if you run PowerPC PowerNV platform that supports
135	  PCI Hotplug
136
137	  To compile this driver as a module, choose M here: the
138	  module will be called pnv-php.
139
140	  When in doubt, say N.
141
142config HOTPLUG_PCI_RPA
143	tristate "RPA PCI Hotplug driver"
144	depends on PPC_PSERIES && EEH
145	help
146	  Say Y here if you have a RPA system that supports PCI Hotplug.
147
148	  To compile this driver as a module, choose M here: the
149	  module will be called rpaphp.
150
151	  When in doubt, say N.
152
153config HOTPLUG_PCI_RPA_DLPAR
154	tristate "RPA Dynamic Logical Partitioning for I/O slots"
155	depends on HOTPLUG_PCI_RPA
156	help
157	  Say Y here if your system supports Dynamic Logical Partitioning
158	  for I/O slots.
159
160	  To compile this driver as a module, choose M here: the
161	  module will be called rpadlpar_io.
162
163	  When in doubt, say N.
164
165config HOTPLUG_PCI_S390
166	bool "System z PCI Hotplug Support"
167	depends on S390 && 64BIT
168	help
169	  Say Y here if you want to use the System z PCI Hotplug
170	  driver for PCI devices. Without this driver it is not
171	  possible to access stand-by PCI functions nor to deconfigure
172	  PCI functions.
173
174	  When in doubt, say Y.
175
176endif # HOTPLUG_PCI
177