treewide: Add SPDX license identifier - Makefile/Kconfig
[sfrench/cifs-2.6.git] / drivers / nvme / host / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 config NVME_CORE
3         tristate
4
5 config BLK_DEV_NVME
6         tristate "NVM Express block device"
7         depends on PCI && BLOCK
8         select NVME_CORE
9         ---help---
10           The NVM Express driver is for solid state drives directly
11           connected to the PCI or PCI Express bus.  If you know you
12           don't have one of these, it is safe to answer N.
13
14           To compile this driver as a module, choose M here: the
15           module will be called nvme.
16
17 config NVME_MULTIPATH
18         bool "NVMe multipath support"
19         depends on NVME_CORE
20         ---help---
21            This option enables support for multipath access to NVMe
22            subsystems.  If this option is enabled only a single
23            /dev/nvmeXnY device will show up for each NVMe namespaces,
24            even if it is accessible through multiple controllers.
25
26 config NVME_FABRICS
27         tristate
28
29 config NVME_RDMA
30         tristate "NVM Express over Fabrics RDMA host driver"
31         depends on INFINIBAND && INFINIBAND_ADDR_TRANS && BLOCK
32         select NVME_CORE
33         select NVME_FABRICS
34         select SG_POOL
35         help
36           This provides support for the NVMe over Fabrics protocol using
37           the RDMA (Infiniband, RoCE, iWarp) transport.  This allows you
38           to use remote block devices exported using the NVMe protocol set.
39
40           To configure a NVMe over Fabrics controller use the nvme-cli tool
41           from https://github.com/linux-nvme/nvme-cli.
42
43           If unsure, say N.
44
45 config NVME_FC
46         tristate "NVM Express over Fabrics FC host driver"
47         depends on BLOCK
48         depends on HAS_DMA
49         select NVME_CORE
50         select NVME_FABRICS
51         select SG_POOL
52         help
53           This provides support for the NVMe over Fabrics protocol using
54           the FC transport.  This allows you to use remote block devices
55           exported using the NVMe protocol set.
56
57           To configure a NVMe over Fabrics controller use the nvme-cli tool
58           from https://github.com/linux-nvme/nvme-cli.
59
60           If unsure, say N.
61
62 config NVME_TCP
63         tristate "NVM Express over Fabrics TCP host driver"
64         depends on INET
65         depends on BLK_DEV_NVME
66         select NVME_FABRICS
67         help
68           This provides support for the NVMe over Fabrics protocol using
69           the TCP transport.  This allows you to use remote block devices
70           exported using the NVMe protocol set.
71
72           To configure a NVMe over Fabrics controller use the nvme-cli tool
73           from https://github.com/linux-nvme/nvme-cli.
74
75           If unsure, say N.