Merge remote-tracking branches 'asoc/topic/cs4271', 'asoc/topic/cs53l30', 'asoc/topic...
[sfrench/cifs-2.6.git] / drivers / nvme / host / Kconfig
1 config NVME_CORE
2         tristate
3
4 config BLK_DEV_NVME
5         tristate "NVM Express block device"
6         depends on PCI && BLOCK
7         select NVME_CORE
8         ---help---
9           The NVM Express driver is for solid state drives directly
10           connected to the PCI or PCI Express bus.  If you know you
11           don't have one of these, it is safe to answer N.
12
13           To compile this driver as a module, choose M here: the
14           module will be called nvme.
15
16 config BLK_DEV_NVME_SCSI
17         bool "SCSI emulation for NVMe device nodes"
18         depends on NVME_CORE
19         ---help---
20           This adds support for the SG_IO ioctl on the NVMe character
21           and block devices nodes, as well as a translation for a small
22           number of selected SCSI commands to NVMe commands to the NVMe
23           driver.  If you don't know what this means you probably want
24           to say N here, unless you run a distro that abuses the SCSI
25           emulation to provide stable device names for mount by id, like
26           some OpenSuSE and SLES versions.
27
28 config NVME_FABRICS
29         tristate
30
31 config NVME_RDMA
32         tristate "NVM Express over Fabrics RDMA host driver"
33         depends on INFINIBAND && BLOCK
34         select NVME_CORE
35         select NVME_FABRICS
36         select SG_POOL
37         help
38           This provides support for the NVMe over Fabrics protocol using
39           the RDMA (Infiniband, RoCE, iWarp) transport.  This allows you
40           to use remote block devices exported using the NVMe protocol set.
41
42           To configure a NVMe over Fabrics controller use the nvme-cli tool
43           from https://github.com/linux-nvme/nvme-cli.
44
45           If unsure, say N.
46
47 config NVME_FC
48         tristate "NVM Express over Fabrics FC host driver"
49         depends on BLOCK
50         depends on HAS_DMA
51         select NVME_CORE
52         select NVME_FABRICS
53         select SG_POOL
54         help
55           This provides support for the NVMe over Fabrics protocol using
56           the FC transport.  This allows you to use remote block devices
57           exported using the NVMe protocol set.
58
59           To configure a NVMe over Fabrics controller use the nvme-cli tool
60           from https://github.com/linux-nvme/nvme-cli.
61
62           If unsure, say N.