config SCSI
    bool

config LSI_SCSI_PCI
    bool
    default y if PCI_DEVICES
    depends on PCI
    select SCSI

config MPTSAS_SCSI_PCI
    bool
    default y if PCI_DEVICES
    depends on PCI
    select SCSI

config MEGASAS_SCSI_PCI
    bool
    default y if PCI_DEVICES
    depends on PCI
    select SCSI

config VMW_PVSCSI_SCSI_PCI
    bool
    default y if PCI_DEVICES
    depends on PCI
    select SCSI

config ESP
    bool
    select SCSI

config ESP_PCI
    bool
    default y if PCI_DEVICES
    depends on PCI
    select ESP

config SPAPR_VSCSI
    bool
    default y
    depends on PSERIES
    select SCSI

config VIRTIO_SCSI
    bool
    default y
    depends on VIRTIO
    select SCSI

config VHOST_USER_SCSI
    bool
    # Only PCI devices are provided for now
    default y if VIRTIO_PCI
    depends on VIRTIO && VHOST_USER && LINUX
