#
# PCI configuration
#
config PCI_MSI
	bool "Message Signaled Interrupts (MSI and MSI-X)"
	depends on PCI
	depends on (X86_LOCAL_APIC && X86_IO_APIC) || IA64
	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.

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

config PCI_LEGACY_PROC
	bool "Legacy /proc/pci interface"
	depends on PCI
	---help---
	  This feature enables a procfs file -- /proc/pci -- that provides a 
	  summary of PCI devices in the system. 

	  This feature has been deprecated as of v2.5.53, in favor of using the 
	  tool lspci(8). This feature may be removed at a future date. 

	  lspci can provide the same data, as well as much more. lspci is a part of
	  the pci-utils package, which should be installed by your distribution. 
	  See <file:Documentation/Changes> for information on where to get the latest
	  version. 

	  When in doubt, say N.

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.

