aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/nvme/nvme_qpair.c
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2023-08-07 22:35:15 +0000
committerWarner Losh <imp@FreeBSD.org>2023-08-07 22:44:31 +0000
commitedd23e4dc013fe9603138271a2cfaa68732055ba (patch)
tree74fb797949e8e3fcf545007d1984b6aafb458b57 /sys/dev/nvme/nvme_qpair.c
parent7be0b0688538ced679254703076b34c4e9eb507c (diff)
downloadsrc-edd23e4dc013fe9603138271a2cfaa68732055ba.tar.gz
src-edd23e4dc013fe9603138271a2cfaa68732055ba.zip
nvme: Eliminate redundant code
get_admin_opcode_string and get_io_opcode_string are identical, but start with different tables. Use a helper routine that takes an argument to implement these instead. A future commit will refine this further. Sponsored by: Netflix Reviewed by: chuck, mav, jhb Differential Revision: https://reviews.freebsd.org/D41310
Diffstat (limited to 'sys/dev/nvme/nvme_qpair.c')
-rw-r--r--sys/dev/nvme/nvme_qpair.c23
1 files changed, 8 insertions, 15 deletions
diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c
index 40c9f6053b95..988c82741592 100644
--- a/sys/dev/nvme/nvme_qpair.c
+++ b/sys/dev/nvme/nvme_qpair.c
@@ -99,12 +99,8 @@ static struct nvme_opcode_string io_opcode[] = {
};
static const char *
-get_admin_opcode_string(uint16_t opc)
+get_opcode_string(struct nvme_opcode_string *entry, uint16_t opc)
{
- struct nvme_opcode_string *entry;
-
- entry = admin_opcode;
-
while (entry->opc != 0xFFFF) {
if (entry->opc == opc)
return (entry->str);
@@ -114,18 +110,15 @@ get_admin_opcode_string(uint16_t opc)
}
static const char *
-get_io_opcode_string(uint16_t opc)
+get_admin_opcode_string(uint16_t opc)
{
- struct nvme_opcode_string *entry;
-
- entry = io_opcode;
+ return (get_opcode_string(admin_opcode, opc));
+}
- while (entry->opc != 0xFFFF) {
- if (entry->opc == opc)
- return (entry->str);
- entry++;
- }
- return (entry->str);
+static const char *
+get_io_opcode_string(uint16_t opc)
+{
+ return (get_opcode_string(io_opcode, opc));
}
static void