From ca46a81787777b3399c4d9184a5c82d651567ba4 Mon Sep 17 00:00:00 2001 From: Martin George Date: Thu, 20 Mar 2025 22:40:52 +0530 Subject: [PATCH 1/2] tree: add routine to fetch subsys model Add a new routine to fetch the subsystem model. Signed-off-by: Martin George --- src/libnvme.map | 5 +++++ src/nvme/tree.c | 5 +++++ src/nvme/tree.h | 8 ++++++++ 3 files changed, 18 insertions(+) diff --git a/src/libnvme.map b/src/libnvme.map index 31daf7537..e258f147c 100644 --- a/src/libnvme.map +++ b/src/libnvme.map @@ -1,4 +1,9 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +LIBNVME_1.13 { + global: + nvme_subsystem_get_model; +}; + LIBNVME_1.12 { global: nvme_lm_cdq; diff --git a/src/nvme/tree.c b/src/nvme/tree.c index 7fc20138f..8319eb1b7 100644 --- a/src/nvme/tree.c +++ b/src/nvme/tree.c @@ -527,6 +527,11 @@ const char *nvme_subsystem_get_iopolicy(nvme_subsystem_t s) return s->iopolicy; } +const char *nvme_subsystem_get_model(nvme_subsystem_t s) +{ + return s->model; +} + nvme_ctrl_t nvme_subsystem_first_ctrl(nvme_subsystem_t s) { return list_top(&s->ctrls, struct nvme_ctrl, entry); diff --git a/src/nvme/tree.h b/src/nvme/tree.h index 818e17bcc..c79988ff0 100644 --- a/src/nvme/tree.h +++ b/src/nvme/tree.h @@ -1346,6 +1346,14 @@ void nvme_subsystem_set_application(nvme_subsystem_t s, const char *a); */ const char *nvme_subsystem_get_iopolicy(nvme_subsystem_t s); +/** + * nvme_subsystem_get_model() - Return the model of subsystem + * @s: nvme_subsystem_t object + * + * Return: Model of the current subsystem + */ +const char *nvme_subsystem_get_model(nvme_subsystem_t s); + /** * nvme_scan_topology() - Scan NVMe topology and apply filter * @r: nvme_root_t object From 961fe33153bbb3be714a1213665a565549278140 Mon Sep 17 00:00:00 2001 From: Martin George Date: Thu, 20 Mar 2025 22:58:26 +0530 Subject: [PATCH 2/2] tree: add routine to fetch subsys firmware rev Add a new routine to fetch the subsystem firmware revision. Signed-off-by: Martin George --- src/libnvme.map | 1 + src/nvme/tree.c | 5 +++++ src/nvme/tree.h | 8 ++++++++ 3 files changed, 14 insertions(+) diff --git a/src/libnvme.map b/src/libnvme.map index e258f147c..4314705f7 100644 --- a/src/libnvme.map +++ b/src/libnvme.map @@ -1,6 +1,7 @@ # SPDX-License-Identifier: LGPL-2.1-or-later LIBNVME_1.13 { global: + nvme_subsystem_get_fw_rev; nvme_subsystem_get_model; }; diff --git a/src/nvme/tree.c b/src/nvme/tree.c index 8319eb1b7..b0a4696f2 100644 --- a/src/nvme/tree.c +++ b/src/nvme/tree.c @@ -532,6 +532,11 @@ const char *nvme_subsystem_get_model(nvme_subsystem_t s) return s->model; } +const char *nvme_subsystem_get_fw_rev(nvme_subsystem_t s) +{ + return s->firmware; +} + nvme_ctrl_t nvme_subsystem_first_ctrl(nvme_subsystem_t s) { return list_top(&s->ctrls, struct nvme_ctrl, entry); diff --git a/src/nvme/tree.h b/src/nvme/tree.h index c79988ff0..ede1b2cf1 100644 --- a/src/nvme/tree.h +++ b/src/nvme/tree.h @@ -1354,6 +1354,14 @@ const char *nvme_subsystem_get_iopolicy(nvme_subsystem_t s); */ const char *nvme_subsystem_get_model(nvme_subsystem_t s); +/** + * nvme_subsystem_get_fw_rev() - Return the firmware rev of subsystem + * @s: nvme_subsystem_t object + * + * Return: Firmware revision of the current subsystem + */ +const char *nvme_subsystem_get_fw_rev(nvme_subsystem_t s); + /** * nvme_scan_topology() - Scan NVMe topology and apply filter * @r: nvme_root_t object