linux/drivers/pci/hotplug/Kconfig

# SPDX-License-Identifier: GPL-2.0
#
# PCI Hotplug support
#

menuconfig HOTPLUG_PCI
	bool "Support for PCI Hotplug"
	depends on PCI && SYSFS
	default y if USB4
	help
	  Say Y here if you have a motherboard with a PCI Hotplug controller.
	  This allows you to add and remove PCI cards while the machine is
	  powered up and running.

	  Thunderbolt/USB4 PCIe tunneling depends on native PCIe hotplug.

	  When in doubt, say N.

if HOTPLUG_PCI

config HOTPLUG_PCI_COMPAQ
	tristate "Compaq PCI Hotplug driver"
	depends on X86 && PCI_BIOS
	help
	  Say Y here if you have a motherboard with a Compaq PCI Hotplug
	  controller.

	  To compile this driver as a module, choose M here: the
	  module will be called cpqphp.

	  When in doubt, say N.

config HOTPLUG_PCI_COMPAQ_NVRAM
	bool "Save configuration into NVRAM on Compaq servers"
	depends on HOTPLUG_PCI_COMPAQ
	help
	  Say Y here if you have a Compaq server that has a PCI Hotplug
	  controller.  This will allow the PCI Hotplug driver to store the PCI
	  system configuration options in NVRAM.

	  When in doubt, say N.

config HOTPLUG_PCI_IBM
	tristate "IBM PCI Hotplug driver"
	depends on X86_IO_APIC && X86 && PCI_BIOS
	help
	  Say Y here if you have a motherboard with a IBM PCI Hotplug
	  controller.

	  To compile this driver as a module, choose M here: the
	  module will be called ibmphp.

	  When in doubt, say N.

config HOTPLUG_PCI_ACPI
	bool "ACPI PCI Hotplug driver"
	depends on HOTPLUG_PCI=y && ((!ACPI_DOCK && ACPI) || (ACPI_DOCK))
	help
	  Say Y here if you have a system that supports PCI Hotplug using
	  ACPI.

	  When in doubt, say N.

config HOTPLUG_PCI_ACPI_AMPERE_ALTRA
	tristate "ACPI PCI Hotplug driver Ampere Altra extensions"
	depends on HOTPLUG_PCI_ACPI
	depends on HAVE_ARM_SMCCC_DISCOVERY
	help
	  Say Y here if you have an Ampere Altra system.

	  To compile this driver as a module, choose M here: the
	  module will be called acpiphp_ampere_altra.

	  When in doubt, say N.

config HOTPLUG_PCI_ACPI_IBM
	tristate "ACPI PCI Hotplug driver IBM extensions"
	depends on HOTPLUG_PCI_ACPI
	help
	  Say Y here if you have an IBM system that supports PCI Hotplug using
	  ACPI.

	  To compile this driver as a module, choose M here: the
	  module will be called acpiphp_ibm.

	  When in doubt, say N.

config HOTPLUG_PCI_CPCI
	bool "CompactPCI Hotplug driver"
	help
	  Say Y here if you have a CompactPCI system card with CompactPCI
	  hotswap support per the PICMG 2.1 specification.

	  When in doubt, say N.

config HOTPLUG_PCI_CPCI_ZT5550
	tristate "Ziatech ZT5550 CompactPCI Hotplug driver"
	depends on HOTPLUG_PCI_CPCI && X86
	help
	  Say Y here if you have an Performance Technologies (formerly Intel,
	  formerly just Ziatech) Ziatech ZT5550 CompactPCI system card.

	  To compile this driver as a module, choose M here: the
	  module will be called cpcihp_zt5550.

	  When in doubt, say N.

config HOTPLUG_PCI_CPCI_GENERIC
	tristate "Generic port I/O CompactPCI Hotplug driver"
	depends on HOTPLUG_PCI_CPCI && X86
	help
	  Say Y here if you have a CompactPCI system card that exposes the #ENUM
	  hotswap signal as a bit in a system register that can be read through
	  standard port I/O.

	  To compile this driver as a module, choose M here: the
	  module will be called cpcihp_generic.

	  When in doubt, say N.

config HOTPLUG_PCI_SHPC
	bool "SHPC PCI Hotplug driver"
	help
	  Say Y here if you have a motherboard with a SHPC PCI Hotplug
	  controller.

	  When in doubt, say N.

config HOTPLUG_PCI_POWERNV
	tristate "PowerPC PowerNV PCI Hotplug driver"
	depends on PPC_POWERNV && EEH
	select OF_DYNAMIC
	help
	  Say Y here if you run PowerPC PowerNV platform that supports
	  PCI Hotplug

	  To compile this driver as a module, choose M here: the
	  module will be called pnv-php.

	  When in doubt, say N.

config HOTPLUG_PCI_RPA
	tristate "RPA PCI Hotplug driver"
	depends on PPC_PSERIES && EEH
	help
	  Say Y here if you have a RPA system that supports PCI Hotplug.

	  To compile this driver as a module, choose M here: the
	  module will be called rpaphp.

	  When in doubt, say N.

config HOTPLUG_PCI_RPA_DLPAR
	tristate "RPA Dynamic Logical Partitioning for I/O slots"
	depends on HOTPLUG_PCI_RPA
	help
	  Say Y here if your system supports Dynamic Logical Partitioning
	  for I/O slots.

	  To compile this driver as a module, choose M here: the
	  module will be called rpadlpar_io.

	  When in doubt, say N.

config HOTPLUG_PCI_S390
	bool "System z PCI Hotplug Support"
	depends on S390 && 64BIT
	help
	  Say Y here if you want to use the System z PCI Hotplug
	  driver for PCI devices. Without this driver it is not
	  possible to access stand-by PCI functions nor to deconfigure
	  PCI functions.

	  When in doubt, say Y.

endif # HOTPLUG_PCI