kernel: add kmod-nvme package
authorDaniel Golle <daniel@makrotopia.org>
Tue, 26 Jul 2022 08:17:07 +0000 (10:17 +0200)
committerDaniel Golle <daniel@makrotopia.org>
Sat, 30 Jul 2022 17:04:36 +0000 (19:04 +0200)
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>
package/kernel/linux/modules/block.mk

index 72f670b6031def76df6641b9b45270577e14194b..40a14a9be2b1737089a95810d1e817fd237448d8 100644 (file)
@@ -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