#
# PCI configuration
#
config ARCH_SUPPORTS_MSI
	bool
	default n

config PCI_MSI
	bool "Message Signaled Interrupts (MSI and MSI-X)"
	depends on PCI
	depends on ARCH_SUPPORTS_MSI
	help
	   This allows device drivers to enable MSI (Message Signaled
	   Interrupts).  Message Signaled Interrupts enable a device to
	   generate an interrupt using an inbound Memory Write on its
	   PCI bus instead of asserting a device IRQ pin.

	   Use of PCI MSI interrupts can be disabled at kernel boot time
	   by using the 'pci=nomsi' option.  This disables MSI for the
	   entire system.

	   If you don't know what to do here, say N.

config PCI_LEGACY
	bool "Enable deprecated pci_find_* API"
	depends on PCI
	default y
	help
	  Say Y here if you want to include support for the deprecated
	  pci_find_slot() and pci_find_device() APIs.  Most drivers have
	  been converted over to using the proper hotplug APIs, so this
	  option serves to include/exclude only a few drivers that are
	  still using this API.

config PCI_DEBUG
	bool "PCI Debugging"
	depends on PCI && DEBUG_KERNEL
	help
	  Say Y here if you want the PCI core to produce a bunch of debug
	  messages to the system log.  Select this if you are having a
	  problem with PCI support and want to see more of what is going on.

	  When in doubt, say N.

config HT_IRQ
	bool "Interrupts on hypertransport devices"
	default y
	depends on PCI && X86_LOCAL_APIC && X86_IO_APIC
	help
	   This allows native hypertransport devices to use interrupts.

	   If unsure say Y.
