Merge branch 'master' of git://git.denx.de/u-boot-sunxi
[oweals/u-boot.git] / drivers / nvme / nvme.c
index ec32d0de27a1f1b7e4dcee80bfce5b1fb1889f47..d4965e2ef635984da967f06967ab30846ec00e17 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>
@@ -562,9 +561,6 @@ static int nvme_setup_io_queues(struct nvme_dev *dev)
        if (result <= 0)
                return result;
 
-       if (result < nr_io_queues)
-               nr_io_queues = result;
-
        dev->max_qid = nr_io_queues;
 
        /* Free previously allocated queues */
@@ -581,7 +577,7 @@ static int nvme_get_info_from_identify(struct nvme_dev *dev)
        int ret;
        int shift = NVME_CAP_MPSMIN(dev->cap) + 12;
 
-       ret = nvme_identify(dev, 0, 1, (dma_addr_t)ctrl);
+       ret = nvme_identify(dev, 0, 1, (dma_addr_t)(long)ctrl);
        if (ret)
                return -EIO;
 
@@ -650,7 +646,7 @@ static int nvme_blk_probe(struct udevice *udev)
        ns->dev = ndev;
        /* extract the namespace id from the block device name */
        ns->ns_id = trailing_strtol(udev->name) + 1;
-       if (nvme_identify(ndev, ns->ns_id, 0, (dma_addr_t)id))
+       if (nvme_identify(ndev, ns->ns_id, 0, (dma_addr_t)(long)id))
                return -EIO;
 
        flbas = id->flbas & NVME_NS_FLBAS_LBA_MASK;
@@ -668,7 +664,6 @@ static int nvme_blk_probe(struct udevice *udev)
        sprintf(desc->vendor, "0x%.4x", pplat->vendor);
        memcpy(desc->product, ndev->serial, sizeof(ndev->serial));
        memcpy(desc->revision, ndev->firmware_rev, sizeof(ndev->firmware_rev));
-       part_init(desc);
 
        return 0;
 }
@@ -723,7 +718,7 @@ static ulong nvme_blk_rw(struct udevice *udev, lbaint_t blknr,
                                &c, NULL, IO_TIMEOUT);
                if (status)
                        break;
-               temp_len -= lbas << ns->lba_shift;
+               temp_len -= (u32)lbas << ns->lba_shift;
                buffer += lbas << ns->lba_shift;
        }
 
@@ -791,8 +786,7 @@ static int nvme_probe(struct udevice *udev)
                printf("Error: %s: Out of memory!\n", udev->name);
                goto free_nvme;
        }
-       memset(ndev->queues, 0,
-              sizeof(NVME_Q_NUM * sizeof(struct nvme_queue *)));
+       memset(ndev->queues, 0, NVME_Q_NUM * sizeof(struct nvme_queue *));
 
        ndev->prp_pool = malloc(MAX_PRP_POOL);
        if (!ndev->prp_pool) {