Merge tag 'u-boot-imx-20191009' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
[oweals/u-boot.git] / drivers / nvme / nvme.c
index 47f101e2808be51e93e87de9e8d4cd33f6b83c6e..ee6b581d9e17f9240165a892ca128f764ab7617f 100644 (file)
@@ -621,6 +621,18 @@ static int nvme_get_info_from_identify(struct nvme_dev *dev)
        return 0;
 }
 
+int nvme_get_namespace_id(struct udevice *udev, u32 *ns_id, u8 *eui64)
+{
+       struct nvme_ns *ns = dev_get_priv(udev);
+
+       if (ns_id)
+               *ns_id = ns->ns_id;
+       if (eui64)
+               memcpy(eui64, ns->eui64, sizeof(ns->eui64));
+
+       return 0;
+}
+
 int nvme_scan_namespace(void)
 {
        struct uclass *uc;
@@ -657,6 +669,7 @@ static int nvme_blk_probe(struct udevice *udev)
        if (nvme_identify(ndev, ns->ns_id, 0, (dma_addr_t)(long)id))
                return -EIO;
 
+       memcpy(&ns->eui64, &id->eui64, sizeof(id->eui64));
        flbas = id->flbas & NVME_NS_FLBAS_LBA_MASK;
        ns->flbas = flbas;
        ns->lba_shift = id->lbaf[flbas].ds;