]> www.infradead.org Git - users/sagi/nvme-cli.git/commitdiff
nvme: Use local struct nvme_dev for show_registers & map_registers
authorJeremy Kerr <jk@codeconstruct.com.au>
Tue, 12 Jul 2022 09:51:47 +0000 (17:51 +0800)
committerDaniel Wagner <dwagner@suse.de>
Fri, 12 Aug 2022 06:51:18 +0000 (08:51 +0200)
show_registers() and map_registers() use the global nvme_dev; change to
a local passed as an argument.

Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au>
nvme.c

diff --git a/nvme.c b/nvme.c
index 3c11aea8c205a99b0cd58a0c55b1ce9b41e98359..a409cf4bcaa8b1e188a9024beb1ec484e7077ed2 100644 (file)
--- a/nvme.c
+++ b/nvme.c
@@ -105,7 +105,7 @@ static struct program nvme = {
 const char *output_format = "Output format: normal|json|binary";
 static const char *output_format_no_binary = "Output format: normal|json";
 
-static void *mmap_registers(nvme_root_t r, const char *dev);
+static void *mmap_registers(nvme_root_t r, struct nvme_dev *dev);
 
 static void *__nvme_alloc(size_t len, bool *huge) {
        void *p;
@@ -688,7 +688,7 @@ static int get_effects_log(int argc, char **argv, struct command *cmd, struct pl
                int nvme_command_set_supported;
                int other_command_sets_supported;
                nvme_root = nvme_scan(NULL);
-               bar = mmap_registers(nvme_root, nvme_dev->name);
+               bar = mmap_registers(nvme_root, dev);
                nvme_free_tree(nvme_root);
 
                if (!bar) {
@@ -4448,7 +4448,7 @@ static int nvme_get_properties(int fd, void **pbar)
        return err;
 }
 
-static void *mmap_registers(nvme_root_t r, const char *dev)
+static void *mmap_registers(nvme_root_t r, struct nvme_dev *dev)
 {
        nvme_ctrl_t c = NULL;
        nvme_ns_t n = NULL;
@@ -4457,15 +4457,15 @@ static void *mmap_registers(nvme_root_t r, const char *dev)
        void *membase;
        int fd;
 
-       c = nvme_scan_ctrl(r, nvme_dev->name);
+       c = nvme_scan_ctrl(r, dev->name);
        if (c) {
                snprintf(path, sizeof(path), "%s/device/resource0",
                        nvme_ctrl_get_sysfs_dir(c));
                nvme_free_ctrl(c);
        } else {
-               n = nvme_scan_namespace(nvme_dev->name);
+               n = nvme_scan_namespace(dev->name);
                if (!n) {
-                       fprintf(stderr, "Unable to find %s\n", nvme_dev->name);
+                       fprintf(stderr, "Unable to find %s\n", dev->name);
                        return NULL;
                }
                snprintf(path, sizeof(path), "%s/device/device/resource0",
@@ -4476,13 +4476,13 @@ static void *mmap_registers(nvme_root_t r, const char *dev)
        fd = open(path, O_RDONLY);
        if (fd < 0) {
                fprintf(stderr, "%s did not find a pci resource, open failed %s\n",
-                               nvme_dev->name, strerror(errno));
+                               dev->name, strerror(errno));
                return NULL;
        }
 
        membase = mmap(NULL, getpagesize(), PROT_READ, MAP_SHARED, fd, 0);
        if (membase == MAP_FAILED) {
-               fprintf(stderr, "%s failed to map. ", nvme_dev->name);
+               fprintf(stderr, "%s failed to map. ", dev->name);
                fprintf(stderr, "Did your kernel enable CONFIG_IO_STRICT_DEVMEM?\n");
                membase = NULL;
        }
@@ -4534,7 +4534,7 @@ static int show_registers(int argc, char **argv, struct command *cmd, struct plu
 
        err = nvme_get_properties(dev->fd, &bar);
        if (err) {
-               bar = mmap_registers(r, nvme_dev->name);
+               bar = mmap_registers(r, dev);
                fabrics = false;
                if (bar)
                        err = 0;