#
# Kernel configuration file for 88SE64XX/88SE94XX SAS/SATA driver.
#
# Copyright 2007 Red Hat, Inc.
# Copyright 2008 Marvell. <kewei@marvell.com>
# Copyright 2009-20011 Marvell. <yuxiangl@marvell.com>
#
# This file is licensed under GPLv2.
#
# This file is part of the 88SE64XX/88SE94XX driver.
#
# The 88SE64XX/88SE94XX 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 88SE64XX/88SE94XX 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 88SE64XX/88SE94XX Driver; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
#
#

config SCSI_MVSAS
	tristate "Marvell 88SE64XX/88SE94XX SAS/SATA support"
	depends on PCI
	select SCSI_SAS_LIBSAS
	select FW_LOADER
	help
		This driver supports Marvell's SAS/SATA 3Gb/s PCI-E 88SE64XX and 6Gb/s
		PCI-E 88SE94XX chip based host adapters.

config SCSI_MVSAS_DEBUG
	bool "Compile in debug mode"
	default y
	depends on SCSI_MVSAS
	help
		Compiles the 88SE64XX/88SE94XX driver in debug mode.  In debug mode,
		the driver prints some messages to the console.
