diff --git a/src/libnvme.map b/src/libnvme.map index 31daf7537..4314705f7 100644 --- a/src/libnvme.map +++ b/src/libnvme.map @@ -1,4 +1,10 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +LIBNVME_1.13 { + global: + nvme_subsystem_get_fw_rev; + 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..b0a4696f2 100644 --- a/src/nvme/tree.c +++ b/src/nvme/tree.c @@ -527,6 +527,16 @@ 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; +} + +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 818e17bcc..ede1b2cf1 100644 --- a/src/nvme/tree.h +++ b/src/nvme/tree.h @@ -1346,6 +1346,22 @@ 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_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