# SPDX-License-Identifier: GPL-2.0-only
#
# Kernel configuration file for the SAS Class
#
# Copyright (C) 2005 Adaptec, Inc.  All rights reserved.
# Copyright (C) 2005 Luben Tuikov <luben_tuikov@adaptec.com>
#

config SCSI_SAS_LIBSAS
	tristate "SAS Domain Transport Attributes"
	depends on SCSI
	select SCSI_SAS_ATTRS
	help
	  This provides transport specific helpers for SAS drivers which
	  use the domain device construct (like the aic94xxx).

config SCSI_SAS_ATA
	bool "ATA support for libsas (requires libata)"
	depends on SCSI_SAS_LIBSAS
	depends on ATA = y || ATA = SCSI_SAS_LIBSAS
	select SATA_HOST
	help
		Builds in ATA support into libsas.  Will necessitate
		the loading of libata along with libsas.

config SCSI_SAS_HOST_SMP
	bool "Support for SMP interpretation for SAS hosts"
	default y
	depends on SCSI_SAS_LIBSAS
	help
		Allows sas hosts to receive SMP frames.  Selecting this
		option builds an SMP interpreter into libsas.  Say
		N here if you want to save the few kb this consumes.
