# SPDX-License-Identifier: GPL-2.0-only
config MEGARAID_NEWGEN
	bool "LSI Logic New Generation RAID Device Drivers"
	depends on PCI && SCSI
	help
	LSI Logic RAID Device Drivers

config MEGARAID_MM
	tristate "LSI Logic Management Module (New Driver)"
	depends on PCI && SCSI && MEGARAID_NEWGEN
	help
	Management Module provides ioctl, sysfs support for LSI Logic
	RAID controllers.
	To compile this driver as a module, choose M here: the
	module will be called megaraid_mm


config MEGARAID_MAILBOX
	tristate "LSI Logic MegaRAID Driver (New Driver)"
	depends on PCI && SCSI && MEGARAID_MM
	help
	List of supported controllers

	OEM	Product Name		VID :DID :SVID:SSID
	---	------------		---- ---- ---- ----
	Dell PERC3/QC			101E:1960:1028:0471
	Dell PERC3/DC			101E:1960:1028:0493
	Dell PERC3/SC			101E:1960:1028:0475
	Dell PERC3/Di			1028:000E:1028:0123
	Dell PERC4/SC			1000:1960:1028:0520
	Dell PERC4/DC			1000:1960:1028:0518
	Dell PERC4/QC			1000:0407:1028:0531
	Dell PERC4/Di			1028:000F:1028:014A
	Dell PERC 4e/Si			1028:0013:1028:016c
	Dell PERC 4e/Di			1028:0013:1028:016d
	Dell PERC 4e/Di			1028:0013:1028:016e
	Dell PERC 4e/Di			1028:0013:1028:016f
	Dell PERC 4e/Di			1028:0013:1028:0170
	Dell PERC 4e/DC			1000:0408:1028:0002
	Dell PERC 4e/SC			1000:0408:1028:0001
	LSI MegaRAID SCSI 320-0		1000:1960:1000:A520
	LSI MegaRAID SCSI 320-1		1000:1960:1000:0520
	LSI MegaRAID SCSI 320-2		1000:1960:1000:0518
	LSI MegaRAID SCSI 320-0X	1000:0407:1000:0530
	LSI MegaRAID SCSI 320-2X	1000:0407:1000:0532
	LSI MegaRAID SCSI 320-4X	1000:0407:1000:0531
	LSI MegaRAID SCSI 320-1E	1000:0408:1000:0001
	LSI MegaRAID SCSI 320-2E	1000:0408:1000:0002
	LSI MegaRAID SATA 150-4		1000:1960:1000:4523
	LSI MegaRAID SATA 150-6		1000:1960:1000:0523
	LSI MegaRAID SATA 300-4X	1000:0409:1000:3004
	LSI MegaRAID SATA 300-8X	1000:0409:1000:3008
	INTEL RAID Controller SRCU42X	1000:0407:8086:0532
	INTEL RAID Controller SRCS16	1000:1960:8086:0523
	INTEL RAID Controller SRCU42E	1000:0408:8086:0002
	INTEL RAID Controller SRCZCRX	1000:0407:8086:0530
	INTEL RAID Controller SRCS28X	1000:0409:8086:3008
	INTEL RAID Controller SROMBU42E	1000:0408:8086:3431
	INTEL RAID Controller SROMBU42E	1000:0408:8086:3499
	INTEL RAID Controller SRCU51L	1000:1960:8086:0520
	FSC MegaRAID PCI Express ROMB	1000:0408:1734:1065
	ACER MegaRAID ROMB-2E		1000:0408:1025:004D
	NEC MegaRAID PCI Express ROMB	1000:0408:1033:8287

	To compile this driver as a module, choose M here: the
	module will be called megaraid_mbox

config MEGARAID_LEGACY
	tristate "LSI Logic Legacy MegaRAID Driver"
	depends on PCI && SCSI
	help
	This driver supports the LSI MegaRAID 418, 428, 438, 466, 762, 490
	and 467 SCSI host adapters. This driver also support the all U320
	RAID controllers

	To compile this driver as a module, choose M here: the
	module will be called megaraid

config MEGARAID_SAS
	tristate "LSI Logic MegaRAID SAS RAID Module"
	depends on PCI && SCSI
	select IRQ_POLL
	help
	Module for LSI Logic's SAS based RAID controllers.
	To compile this driver as a module, choose 'm' here.
	Module will be called megaraid_sas

