drivers/nvme/host/Kconfig

Source file repositories/reference/linux-study-clean/drivers/nvme/host/Kconfig

File Facts

System
Linux kernel
Corpus path
drivers/nvme/host/Kconfig
Extension
[no extension]
Size
3968 bytes
Lines
137
Domain
Representative Device Path
Bucket
PCIe NVMe Storage Path
Inferred role
Representative Device Path: build/configuration rule
Status
atlas-only

Why This File Exists

Part of the selected hardware vertical slice: PCI discovery, driver binding, NVMe queues, block requests, DMA, interrupts, and completion.

Dependency Surface

Detected Declarations

Annotated Snippet

# SPDX-License-Identifier: GPL-2.0-only
config NVME_CORE
	tristate

config BLK_DEV_NVME
	tristate "NVM Express block device"
	depends on PCI && BLOCK
	select NVME_CORE
	help
	  The NVM Express driver is for solid state drives directly
	  connected to the PCI or PCI Express bus.  If you know you
	  don't have one of these, it is safe to answer N.

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

config NVME_MULTIPATH
	bool "NVMe multipath support"
	depends on NVME_CORE
	help
	  This option controls support for multipath access to NVMe
	  subsystems. If this option is enabled support for NVMe multipath
	  access is included in the kernel. If this option is disabled support
	  for NVMe multipath access is excluded from the kernel. When this
	  option is disabled each controller/namespace receives its
	  own /dev/nvmeXnY device entry and NVMe multipath access is
	  not supported.

	  If unsure, say Y.

config NVME_VERBOSE_ERRORS
	bool "NVMe verbose error reporting"
	depends on NVME_CORE
	help
	   This option enables verbose reporting for NVMe errors. The
	   error translation table will grow the kernel image size by
	   about 4 KB.

config NVME_HWMON
	bool "NVMe hardware monitoring"
	depends on (NVME_CORE=y && HWMON=y) || (NVME_CORE=m && HWMON)
	help
	  This provides support for NVMe hardware monitoring. If enabled,
	  a hardware monitoring device will be created for each NVMe drive
	  in the system.

config NVME_FABRICS
	select NVME_CORE
	select NVME_KEYRING if NVME_TCP_TLS
	tristate

config NVME_RDMA
	tristate "NVM Express over Fabrics RDMA host driver"
	depends on INFINIBAND && INFINIBAND_ADDR_TRANS && BLOCK
	select NVME_FABRICS
	select SG_POOL
	help
	  This provides support for the NVMe over Fabrics protocol using
	  the RDMA (Infiniband, RoCE, iWarp) transport.  This allows you
	  to use remote block devices exported using the NVMe protocol set.

	  To configure a NVMe over Fabrics controller use the nvme-cli tool
	  from https://github.com/linux-nvme/nvme-cli.

	  If unsure, say N.

config NVME_FC
	tristate "NVM Express over Fabrics FC host driver"
	depends on BLOCK
	depends on HAS_DMA

Annotation

Implementation Notes