summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2022-07-26 10:17:07 +0200
committerHauke Mehrtens <hauke@hauke-m.de>2023-01-06 17:30:51 +0100
commitcdd9bee3704358b705e10773ec10d460f8eaac42 (patch)
treec7adf7f8765bc39601a8a433855c004afa0903dc
parent39868a87d4cc41d73b9ceef1ad571dfa37f9dead (diff)
downloadopenwrt-cdd9bee3704358b705e10773ec10d460f8eaac42.tar.gz
kernel: add kmod-nvme package
Add driver for NVM Express block devices, ie. PCIe connected SSDs. Targets which allow booting from NVMe (x86, maybe some mvebu boards come to mind) should have it built-in, so rootfs can be mounted from there. For targets without NVMe support in bootloader or BIOS/firmware it's sufficient to provide the kernel module package. On targets having the NVMe driver built-in the resulting kmod package is an empty dummy. In any case, depending on or installing kmod-nvme results in driver support being available (either because it was already built-in or because the relevant kernel modules are added and loaded). Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit dbe53352e38d20bb5245158b19d4ff810c209548)
-rw-r--r--package/kernel/linux/modules/block.mk23
1 files changed, 23 insertions, 0 deletions
diff --git a/package/kernel/linux/modules/block.mk b/package/kernel/linux/modules/block.mk
index 373c9fbaab..bb077ab643 100644
--- a/package/kernel/linux/modules/block.mk
+++ b/package/kernel/linux/modules/block.mk
@@ -508,6 +508,29 @@ endef
$(eval $(call KernelPackage,nbd))
+define KernelPackage/nvme
+ SUBMENU:=$(BLOCK_MENU)
+ TITLE:=NVM Express block device
+ DEPENDS:=@PCI_SUPPORT
+ KCONFIG:= \
+ CONFIG_NVME_CORE \
+ CONFIG_BLK_DEV_NVME \
+ CONFIG_NVME_MULTIPATH=n \
+ CONFIG_NVME_HWMON=n
+ FILES:= \
+ $(LINUX_DIR)/drivers/nvme/host/nvme-core.ko \
+ $(LINUX_DIR)/drivers/nvme/host/nvme.ko
+ AUTOLOAD:=$(call AutoLoad,30,nvme-core nvme)
+endef
+
+define KernelPackage/nvme/description
+ Kernel module for NVM Express solid state drives directly
+ connected to the PCI or PCI Express bus.
+endef
+
+$(eval $(call KernelPackage,nvme))
+
+
define KernelPackage/scsi-core
SUBMENU:=$(BLOCK_MENU)
TITLE:=SCSI device support