Add support for retrieving the EXT4 environment from an NVME device, the same way it can be retrieved from MMC, SCSI, or VIRTIO.
To use the EXT4 environment from an NVME device, pass CONFIG_ENV_EXT4_INTERFACE="nvme" in the defconfig. Signed-off-by: Fabio Estevam <feste...@gmail.com> --- env/ext4.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/env/ext4.c b/env/ext4.c index d92c844ea6c0..c8122b4d22cb 100644 --- a/env/ext4.c +++ b/env/ext4.c @@ -22,6 +22,7 @@ #include <command.h> #include <env.h> +#include <init.h> #include <env_internal.h> #include <linux/stddef.h> #include <malloc.h> @@ -30,6 +31,7 @@ #include <errno.h> #include <ext4fs.h> #include <mmc.h> +#include <nvme.h> #include <scsi.h> #include <virtio.h> #include <asm/global_data.h> @@ -156,6 +158,14 @@ static int env_ext4_load(void) virtio_init(); #endif +#if defined(CONFIG_NVME) + if (!strcmp(ifname, "nvme")) { + if (IS_ENABLED(CONFIG_PCI)) + pci_init(); + + nvme_scan_namespace(); + } +#endif part = blk_get_device_part_str(ifname, dev_and_part, &dev_desc, &info, 1); if (part < 0) -- 2.34.1