#
# Kernel configuration file for aic94xx SAS/SATA driver.
#
# Copyright (c) 2005 Adaptec, Inc.  All rights reserved.
# Copyright (c) 2005 Luben Tuikov <luben_tuikov@adaptec.com>
#
# This file is licensed under GPLv2.
#
# This file is part of the aic94xx driver.
#
# The aic94xx driver is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; version 2 of the
# License.
#
# The aic94xx driver is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Aic94xx Driver; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
#
#

config SCSI_AIC94XX
	tristate "Adaptec AIC94xx SAS/SATA support"
	depends on PCI
	select SCSI_SAS_LIBSAS
	select FW_LOADER
	help
		This driver supports Adaptec's SAS/SATA 3Gb/s 64 bit PCI-X
		AIC94xx chip based host adapters.

config AIC94XX_DEBUG
	bool "Compile in debug mode"
	default y
	depends on SCSI_AIC94XX
	help
		Compiles the aic94xx driver in debug mode.  In debug mode,
		the driver prints some messages to the console.
