net: xilinx_axi_emac: Read dma address using fdtdec_get_addr
[oweals/u-boot.git] / drivers / nvme / nvme-uclass.c
index 334628cebfc5c75e868b0cf0296601f111ae9f6c..56a6171876b3dea422c9903e80139165c57db0e8 100644 (file)
 #include <dm/device.h>
 #include "nvme.h"
 
-static int nvme_info_init(struct uclass *uc)
-{
-       struct nvme_info *info = (struct nvme_info *)uc->priv;
-
-       info->ns_num = 0;
-       info->ndev_num = 0;
-       INIT_LIST_HEAD(&info->dev_list);
-       nvme_info = info;
-
-       return 0;
-}
-
 static int nvme_uclass_post_probe(struct udevice *udev)
 {
        char name[20];
@@ -32,16 +20,17 @@ static int nvme_uclass_post_probe(struct udevice *udev)
 
        /* Create a blk device for each namespace */
        for (i = 0; i < ndev->nn; i++) {
-               sprintf(name, "blk#%d", nvme_info->ns_num);
+               /*
+                * Encode the namespace id to the device name so that
+                * we can extract it when doing the probe.
+                */
+               sprintf(name, "blk#%d", i);
 
                /* The real blksz and size will be set by nvme_blk_probe() */
                ret = blk_create_devicef(udev, "nvme-blk", name, IF_TYPE_NVME,
-                                        nvme_info->ns_num++, 512, 0, &ns_udev);
-               if (ret) {
-                       nvme_info->ns_num--;
-
+                                        -1, 512, 0, &ns_udev);
+               if (ret)
                        return ret;
-               }
        }
 
        return 0;
@@ -50,7 +39,5 @@ static int nvme_uclass_post_probe(struct udevice *udev)
 UCLASS_DRIVER(nvme) = {
        .name   = "nvme",
        .id     = UCLASS_NVME,
-       .init   = nvme_info_init,
        .post_probe = nvme_uclass_post_probe,
-       .priv_auto_alloc_size = sizeof(struct nvme_info),
 };