# For a description of the syntax of this configuration file,
# see Documentation/kbuild/kconfig-language.txt.
#

config PPC4xx_PCI_EXPRESS
	bool
	depends on PCI && 4xx
	default n

config PPC_MSI_BITMAP
	bool
	depends on PCI_MSI
	default y if MPIC
	default y if FSL_PCI
