11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# PCI Hotplug support
31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#
41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
5d4770143fe72979d463a911d7a1f75f27ce6437bJan Engelhardtmenuconfig HOTPLUG_PCI
61ec87280ebfdf5ea07a3ce7b235bebdb9ab42572Kristen Carlson Accardi	tristate "Support for PCI Hotplug"
7268a03a42d3377d5fb41e6e7cbdec4e0b65cab2eAlex Chiang	depends on PCI && HOTPLUG && SYSFS
81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	---help---
91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Say Y here if you have a motherboard with a PCI Hotplug controller.
101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  This allows you to add and remove PCI cards while the machine is
11654143ee3a73b2793350b039a135d9cd3101147bPavel Machek	  powered up and running.
121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  To compile this driver as a module, choose M here: the
141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  module will be called pci_hotplug.
151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  When in doubt, say N.
171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
18d4770143fe72979d463a911d7a1f75f27ce6437bJan Engelhardtif HOTPLUG_PCI
19d4770143fe72979d463a911d7a1f75f27ce6437bJan Engelhardt
201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig HOTPLUG_PCI_FAKE
211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "Fake PCI Hotplug driver"
221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Say Y here if you want to use the fake PCI hotplug driver. It can
241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  be used to simulate PCI hotplug events if even if your system is
251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  not PCI hotplug capable.
261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  This driver will "emulate" removing PCI devices from the system.
281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  If the "power" file is written to with "0" then the specified PCI
291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  device will be completely removed from the kernel.
301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  WARNING, this does NOT turn off the power to the PCI device.
321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  This is a "logical" removal, not a physical or electrical
331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  removal.
341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Use this module at your own risk.  You have been warned!
361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  To compile this driver as a module, choose M here: the
381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  module will be called fakephp.
391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  When in doubt, say N.
411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig HOTPLUG_PCI_COMPAQ
431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "Compaq PCI Hotplug driver"
4412a9da0fcb147b46de33bb919b1de2bb92c9e2a9Alex Chiang	depends on X86 && PCI_BIOS
451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Say Y here if you have a motherboard with a Compaq PCI Hotplug
471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  controller.
481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  To compile this driver as a module, choose M here: the
501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  module will be called cpqphp.
511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  When in doubt, say N.
531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig HOTPLUG_PCI_COMPAQ_NVRAM
551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	bool "Save configuration into NVRAM on Compaq servers"
561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	depends on HOTPLUG_PCI_COMPAQ
571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Say Y here if you have a Compaq server that has a PCI Hotplug
591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  controller.  This will allow the PCI Hotplug driver to store the PCI
601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  system configuration options in NVRAM.
611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  When in doubt, say N.
631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig HOTPLUG_PCI_IBM
651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "IBM PCI Hotplug driver"
663b57eff02c37c79e6254884d374a6a9233e11efcGreg Kroah-Hartman	depends on X86_IO_APIC && X86 && PCI_BIOS
671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Say Y here if you have a motherboard with a IBM PCI Hotplug
691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  controller.
701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  To compile this driver as a module, choose M here: the
721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  module will be called ibmphp.
731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  When in doubt, say N.
751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig HOTPLUG_PCI_ACPI
771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "ACPI PCI Hotplug driver"
78bf4735a46a6b8dfc1a951f05683e80374d8baa70Don Mullis	depends on (!ACPI_DOCK && ACPI) || (ACPI_DOCK)
791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Say Y here if you have a system that supports PCI Hotplug using
811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  ACPI.
821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  To compile this driver as a module, choose M here: the
841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  module will be called acpiphp.
851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  When in doubt, say N.
871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig HOTPLUG_PCI_ACPI_IBM
891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "ACPI PCI Hotplug driver IBM extensions"
901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	depends on HOTPLUG_PCI_ACPI
911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Say Y here if you have an IBM system that supports PCI Hotplug using
931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  ACPI.
941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  To compile this driver as a module, choose M here: the
961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  module will be called acpiphp_ibm.
971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  When in doubt, say N.
991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig HOTPLUG_PCI_CPCI
1011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	bool "CompactPCI Hotplug driver"
1021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
1031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Say Y here if you have a CompactPCI system card with CompactPCI
1041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  hotswap support per the PICMG 2.1 specification.
1051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  When in doubt, say N.
1071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig HOTPLUG_PCI_CPCI_ZT5550
1091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "Ziatech ZT5550 CompactPCI Hotplug driver"
110d4770143fe72979d463a911d7a1f75f27ce6437bJan Engelhardt	depends on HOTPLUG_PCI_CPCI && X86
1111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
1121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Say Y here if you have an Performance Technologies (formerly Intel,
1131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds          formerly just Ziatech) Ziatech ZT5550 CompactPCI system card.
1141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  To compile this driver as a module, choose M here: the
1161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  module will be called cpcihp_zt5550.
1171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  When in doubt, say N.
1191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig HOTPLUG_PCI_CPCI_GENERIC
1211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "Generic port I/O CompactPCI Hotplug driver"
12233ae6ef26d65ef5d15e80d95a9df1252eaed93e8Greg Kroah-Hartman	depends on HOTPLUG_PCI_CPCI && X86
1231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
1241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Say Y here if you have a CompactPCI system card that exposes the #ENUM
1251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  hotswap signal as a bit in a system register that can be read through
1261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  standard port I/O.
1271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  To compile this driver as a module, choose M here: the
1291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  module will be called cpcihp_generic.
1301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  When in doubt, say N.
1321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig HOTPLUG_PCI_SHPC
1341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "SHPC PCI Hotplug driver"
1351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
1361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Say Y here if you have a motherboard with a SHPC PCI Hotplug
1371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  controller.
1381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  To compile this driver as a module, choose M here: the
1401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  module will be called shpchp.
1411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  When in doubt, say N.
1431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig HOTPLUG_PCI_RPA
1451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "RPA PCI Hotplug driver"
1463f3b902ed8147c42a4a9764014c758e6b3f42f51Michael Ellerman	depends on PPC_PSERIES && EEH && !HOTPLUG_PCI_FAKE
1471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
148cab00891c5489cb6d0cde0a55d39bd5f2871fa70Matt LaPlante	  Say Y here if you have a RPA system that supports PCI Hotplug.
1491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  To compile this driver as a module, choose M here: the
1511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  module will be called rpaphp.
1521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  When in doubt, say N.
1541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig HOTPLUG_PCI_RPA_DLPAR
1561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "RPA Dynamic Logical Partitioning for I/O slots"
1571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	depends on HOTPLUG_PCI_RPA
1581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
1591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  Say Y here if your system supports Dynamic Logical Partitioning
1601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  for I/O slots.
1611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  To compile this driver as a module, choose M here: the
1631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  module will be called rpadlpar_io.
1641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 
1651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 	  When in doubt, say N.
1661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig HOTPLUG_PCI_SGI
1681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	tristate "SGI PCI Hotplug Support"
169d4770143fe72979d463a911d7a1f75f27ce6437bJan Engelhardt	depends on IA64_SGI_SN2 || IA64_GENERIC
1701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	help
1716f354b014b51716166f13f68b29212d3c44ed2c4Prarit Bhargava	  Say Y here if you want to use the SGI Altix Hotplug
1726f354b014b51716166f13f68b29212d3c44ed2c4Prarit Bhargava	  Driver for PCI devices.
1731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	  When in doubt, say N.
1751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
176d4770143fe72979d463a911d7a1f75f27ce6437bJan Engelhardtendif # HOTPLUG_PCI
177