# SPDX-License-Identifier: GPL-2.0-only
config SCSI_QLA_FC
	tristate "QLogic QLA2XXX Fibre Channel Support"
	depends on PCI && SCSI
	depends on SCSI_FC_ATTRS
	depends on NVME_FC || !NVME_FC
	select FW_LOADER
	select BTREE
	help
	This qla2xxx driver supports all QLogic Fibre Channel
	PCI and PCIe host adapters.

	By default, firmware for the ISP parts will be loaded
	via the Firmware Loader interface.

	ISP               Firmware Filename
	----------        -----------------
	21xx              ql2100_fw.bin
	22xx              ql2200_fw.bin
	2300, 2312, 6312  ql2300_fw.bin
	2322, 6322        ql2322_fw.bin
	24xx, 54xx        ql2400_fw.bin
	25xx              ql2500_fw.bin

	Upon request, the driver caches the firmware image until
	the driver is unloaded.

	Firmware images can be retrieved from:

		http://ldriver.qlogic.com/firmware/

	They are also included in the linux-firmware tree as well.

config SCSI_QLA2XXX_TARGET
	bool "QLogic 2xxx target mode support"
	depends on SCSI_QLA_FC
	default y
	help
	This option enables target mode hooks used by the SCST qla2x00t
	driver. Once qla2x00tgt module is loaded, target mode for each
	port can be enable via sysfs interface.

	You will also need the SCST middle level for qla2x00t.

config SCST_QLA_TGT_ADDON
	tristate "QLogic SCST Target Driver"
	depends on SCSI_QLA2XXX_TARGET
	default y
	help
	SCST QLogic 32 gbit/s target driver.
