162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# PCI Hotplug support
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci
662306a36Sopenharmony_cimenuconfig HOTPLUG_PCI
762306a36Sopenharmony_ci	bool "Support for PCI Hotplug"
862306a36Sopenharmony_ci	depends on PCI && SYSFS
962306a36Sopenharmony_ci	default y if USB4
1062306a36Sopenharmony_ci	help
1162306a36Sopenharmony_ci	  Say Y here if you have a motherboard with a PCI Hotplug controller.
1262306a36Sopenharmony_ci	  This allows you to add and remove PCI cards while the machine is
1362306a36Sopenharmony_ci	  powered up and running.
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci	  Thunderbolt/USB4 PCIe tunneling depends on native PCIe hotplug.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci	  When in doubt, say N.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciif HOTPLUG_PCI
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ciconfig HOTPLUG_PCI_COMPAQ
2262306a36Sopenharmony_ci	tristate "Compaq PCI Hotplug driver"
2362306a36Sopenharmony_ci	depends on X86 && PCI_BIOS
2462306a36Sopenharmony_ci	help
2562306a36Sopenharmony_ci	  Say Y here if you have a motherboard with a Compaq PCI Hotplug
2662306a36Sopenharmony_ci	  controller.
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
2962306a36Sopenharmony_ci	  module will be called cpqphp.
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci	  When in doubt, say N.
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ciconfig HOTPLUG_PCI_COMPAQ_NVRAM
3462306a36Sopenharmony_ci	bool "Save configuration into NVRAM on Compaq servers"
3562306a36Sopenharmony_ci	depends on HOTPLUG_PCI_COMPAQ
3662306a36Sopenharmony_ci	help
3762306a36Sopenharmony_ci	  Say Y here if you have a Compaq server that has a PCI Hotplug
3862306a36Sopenharmony_ci	  controller.  This will allow the PCI Hotplug driver to store the PCI
3962306a36Sopenharmony_ci	  system configuration options in NVRAM.
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci	  When in doubt, say N.
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ciconfig HOTPLUG_PCI_IBM
4462306a36Sopenharmony_ci	tristate "IBM PCI Hotplug driver"
4562306a36Sopenharmony_ci	depends on X86_IO_APIC && X86 && PCI_BIOS
4662306a36Sopenharmony_ci	help
4762306a36Sopenharmony_ci	  Say Y here if you have a motherboard with a IBM PCI Hotplug
4862306a36Sopenharmony_ci	  controller.
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
5162306a36Sopenharmony_ci	  module will be called ibmphp.
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci	  When in doubt, say N.
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ciconfig HOTPLUG_PCI_ACPI
5662306a36Sopenharmony_ci	bool "ACPI PCI Hotplug driver"
5762306a36Sopenharmony_ci	depends on HOTPLUG_PCI=y && ((!ACPI_DOCK && ACPI) || (ACPI_DOCK))
5862306a36Sopenharmony_ci	help
5962306a36Sopenharmony_ci	  Say Y here if you have a system that supports PCI Hotplug using
6062306a36Sopenharmony_ci	  ACPI.
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci	  When in doubt, say N.
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ciconfig HOTPLUG_PCI_ACPI_IBM
6562306a36Sopenharmony_ci	tristate "ACPI PCI Hotplug driver IBM extensions"
6662306a36Sopenharmony_ci	depends on HOTPLUG_PCI_ACPI
6762306a36Sopenharmony_ci	help
6862306a36Sopenharmony_ci	  Say Y here if you have an IBM system that supports PCI Hotplug using
6962306a36Sopenharmony_ci	  ACPI.
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
7262306a36Sopenharmony_ci	  module will be called acpiphp_ibm.
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci	  When in doubt, say N.
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ciconfig HOTPLUG_PCI_CPCI
7762306a36Sopenharmony_ci	bool "CompactPCI Hotplug driver"
7862306a36Sopenharmony_ci	help
7962306a36Sopenharmony_ci	  Say Y here if you have a CompactPCI system card with CompactPCI
8062306a36Sopenharmony_ci	  hotswap support per the PICMG 2.1 specification.
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci	  When in doubt, say N.
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ciconfig HOTPLUG_PCI_CPCI_ZT5550
8562306a36Sopenharmony_ci	tristate "Ziatech ZT5550 CompactPCI Hotplug driver"
8662306a36Sopenharmony_ci	depends on HOTPLUG_PCI_CPCI && X86
8762306a36Sopenharmony_ci	help
8862306a36Sopenharmony_ci	  Say Y here if you have an Performance Technologies (formerly Intel,
8962306a36Sopenharmony_ci	  formerly just Ziatech) Ziatech ZT5550 CompactPCI system card.
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
9262306a36Sopenharmony_ci	  module will be called cpcihp_zt5550.
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci	  When in doubt, say N.
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ciconfig HOTPLUG_PCI_CPCI_GENERIC
9762306a36Sopenharmony_ci	tristate "Generic port I/O CompactPCI Hotplug driver"
9862306a36Sopenharmony_ci	depends on HOTPLUG_PCI_CPCI && X86
9962306a36Sopenharmony_ci	help
10062306a36Sopenharmony_ci	  Say Y here if you have a CompactPCI system card that exposes the #ENUM
10162306a36Sopenharmony_ci	  hotswap signal as a bit in a system register that can be read through
10262306a36Sopenharmony_ci	  standard port I/O.
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
10562306a36Sopenharmony_ci	  module will be called cpcihp_generic.
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci	  When in doubt, say N.
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ciconfig HOTPLUG_PCI_SHPC
11062306a36Sopenharmony_ci	bool "SHPC PCI Hotplug driver"
11162306a36Sopenharmony_ci	help
11262306a36Sopenharmony_ci	  Say Y here if you have a motherboard with a SHPC PCI Hotplug
11362306a36Sopenharmony_ci	  controller.
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ci	  When in doubt, say N.
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ciconfig HOTPLUG_PCI_POWERNV
11862306a36Sopenharmony_ci	tristate "PowerPC PowerNV PCI Hotplug driver"
11962306a36Sopenharmony_ci	depends on PPC_POWERNV && EEH
12062306a36Sopenharmony_ci	select OF_DYNAMIC
12162306a36Sopenharmony_ci	help
12262306a36Sopenharmony_ci	  Say Y here if you run PowerPC PowerNV platform that supports
12362306a36Sopenharmony_ci	  PCI Hotplug
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
12662306a36Sopenharmony_ci	  module will be called pnv-php.
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ci	  When in doubt, say N.
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ciconfig HOTPLUG_PCI_RPA
13162306a36Sopenharmony_ci	tristate "RPA PCI Hotplug driver"
13262306a36Sopenharmony_ci	depends on PPC_PSERIES && EEH
13362306a36Sopenharmony_ci	help
13462306a36Sopenharmony_ci	  Say Y here if you have a RPA system that supports PCI Hotplug.
13562306a36Sopenharmony_ci
13662306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
13762306a36Sopenharmony_ci	  module will be called rpaphp.
13862306a36Sopenharmony_ci
13962306a36Sopenharmony_ci	  When in doubt, say N.
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ciconfig HOTPLUG_PCI_RPA_DLPAR
14262306a36Sopenharmony_ci	tristate "RPA Dynamic Logical Partitioning for I/O slots"
14362306a36Sopenharmony_ci	depends on HOTPLUG_PCI_RPA
14462306a36Sopenharmony_ci	help
14562306a36Sopenharmony_ci	  Say Y here if your system supports Dynamic Logical Partitioning
14662306a36Sopenharmony_ci	  for I/O slots.
14762306a36Sopenharmony_ci
14862306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the
14962306a36Sopenharmony_ci	  module will be called rpadlpar_io.
15062306a36Sopenharmony_ci
15162306a36Sopenharmony_ci	  When in doubt, say N.
15262306a36Sopenharmony_ci
15362306a36Sopenharmony_ciconfig HOTPLUG_PCI_S390
15462306a36Sopenharmony_ci	bool "System z PCI Hotplug Support"
15562306a36Sopenharmony_ci	depends on S390 && 64BIT
15662306a36Sopenharmony_ci	help
15762306a36Sopenharmony_ci	  Say Y here if you want to use the System z PCI Hotplug
15862306a36Sopenharmony_ci	  driver for PCI devices. Without this driver it is not
15962306a36Sopenharmony_ci	  possible to access stand-by PCI functions nor to deconfigure
16062306a36Sopenharmony_ci	  PCI functions.
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ci	  When in doubt, say Y.
16362306a36Sopenharmony_ci
16462306a36Sopenharmony_ciendif # HOTPLUG_PCI
165