Add support for retrieving the FAT environment from an NVME device, the
same way it can be retrieved from MMC, SCSI, or VIRTIO.

To use the FAT environment from an NVME device, pass
CONFIG_ENV_FAT_INTERFACE="nvme" in the defconfig.

Signed-off-by: Fabio Estevam <feste...@gmail.com>
---
 env/fat.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/env/fat.c b/env/fat.c
index 65ee1c8e086d..412d95dc3057 100644
--- a/env/fat.c
+++ b/env/fat.c
@@ -14,8 +14,10 @@
 #include <memalign.h>
 #include <search.h>
 #include <errno.h>
+#include <init.h>
 #include <fat.h>
 #include <mmc.h>
+#include <nvme.h>
 #include <scsi.h>
 #include <virtio.h>
 #include <asm/cache.h>
@@ -136,6 +138,14 @@ static int env_fat_load(void)
        if (!strcmp(ifname, "virtio"))
                virtio_init();
 #endif
+#if defined(CONFIG_NVME)
+       if (!strcmp(ifname, "nvme")) {
+               if (IS_ENABLED(CONFIG_PCI))
+                       pci_init();
+
+               nvme_scan_namespace();
+       }
+#endif
 #endif
        part = blk_get_device_part_str(ifname, dev_and_part,
                                       &dev_desc, &info, 1);
-- 
2.34.1

Reply via email to