]> git.sur5r.net Git - u-boot/blobdiff - drivers/nvme/nvme-uclass.c
dm: mmc: sunxi: Add A10/A20 compatible strings
[u-boot] / drivers / nvme / nvme-uclass.c
index 334628cebfc5c75e868b0cf0296601f111ae9f6c..2d88efdb619ba6500a76631ac52842f4ddfe945d 100644 (file)
@@ -1,8 +1,7 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * Copyright (C) 2017 NXP Semiconductors
  * Copyright (C) 2017 Bin Meng <bmeng.cn@gmail.com>
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <common.h>
 #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 +19,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 +38,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),
 };