|
|
89ea86 |
From 2e122ad9aa2aa0259df1035e3ec2765d8e008394 Mon Sep 17 00:00:00 2001
|
|
|
89ea86 |
From: Ido Schimmel <idosch@nvidia.com>
|
|
|
89ea86 |
Date: Tue, 12 Oct 2021 16:25:19 +0300
|
|
|
89ea86 |
Subject: [PATCH 20/35] sff-8636: Consolidate code between IOCTL and netlink
|
|
|
89ea86 |
paths
|
|
|
89ea86 |
|
|
|
89ea86 |
Now that both the netlink and IOCTL paths use the same memory map
|
|
|
89ea86 |
structure for parsing, the code can be easily consolidated.
|
|
|
89ea86 |
|
|
|
89ea86 |
Note that the switch-case statement is not necessary for the netlink
|
|
|
89ea86 |
path, as the netlink code (i.e., netlink/module-eeprom.c) already
|
|
|
89ea86 |
performed the check, but it is required for the IOCTL path.
|
|
|
89ea86 |
|
|
|
89ea86 |
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
|
|
|
89ea86 |
---
|
|
|
89ea86 |
qsfp.c | 29 +++++++++++++++--------------
|
|
|
89ea86 |
1 file changed, 15 insertions(+), 14 deletions(-)
|
|
|
89ea86 |
|
|
|
89ea86 |
diff --git a/qsfp.c b/qsfp.c
|
|
|
89ea86 |
index 354b3b1ce9ff..4aa49351e6b7 100644
|
|
|
89ea86 |
--- a/qsfp.c
|
|
|
89ea86 |
+++ b/qsfp.c
|
|
|
89ea86 |
@@ -898,6 +898,19 @@ static void sff8636_show_page_zero(const struct sff8636_memory_map *map)
|
|
|
89ea86 |
SFF8636_REV_COMPLIANCE_OFFSET);
|
|
|
89ea86 |
}
|
|
|
89ea86 |
|
|
|
89ea86 |
+static void sff8636_show_all_common(const struct sff8636_memory_map *map)
|
|
|
89ea86 |
+{
|
|
|
89ea86 |
+ sff8636_show_identifier(map);
|
|
|
89ea86 |
+ switch (map->lower_memory[SFF8636_ID_OFFSET]) {
|
|
|
89ea86 |
+ case SFF8024_ID_QSFP:
|
|
|
89ea86 |
+ case SFF8024_ID_QSFP_PLUS:
|
|
|
89ea86 |
+ case SFF8024_ID_QSFP28:
|
|
|
89ea86 |
+ sff8636_show_page_zero(map);
|
|
|
89ea86 |
+ sff8636_show_dom(map);
|
|
|
89ea86 |
+ break;
|
|
|
89ea86 |
+ }
|
|
|
89ea86 |
+}
|
|
|
89ea86 |
+
|
|
|
89ea86 |
static void sff8636_memory_map_init_buf(struct sff8636_memory_map *map,
|
|
|
89ea86 |
const __u8 *id, __u32 eeprom_len)
|
|
|
89ea86 |
{
|
|
|
89ea86 |
@@ -931,16 +944,7 @@ void sff8636_show_all_ioctl(const __u8 *id, __u32 eeprom_len)
|
|
|
89ea86 |
}
|
|
|
89ea86 |
|
|
|
89ea86 |
sff8636_memory_map_init_buf(&map, id, eeprom_len);
|
|
|
89ea86 |
-
|
|
|
89ea86 |
- sff8636_show_identifier(&map);
|
|
|
89ea86 |
- switch (map.lower_memory[SFF8636_ID_OFFSET]) {
|
|
|
89ea86 |
- case SFF8024_ID_QSFP:
|
|
|
89ea86 |
- case SFF8024_ID_QSFP_PLUS:
|
|
|
89ea86 |
- case SFF8024_ID_QSFP28:
|
|
|
89ea86 |
- sff8636_show_page_zero(&map);
|
|
|
89ea86 |
- sff8636_show_dom(&map);
|
|
|
89ea86 |
- break;
|
|
|
89ea86 |
- }
|
|
|
89ea86 |
+ sff8636_show_all_common(&map);
|
|
|
89ea86 |
}
|
|
|
89ea86 |
|
|
|
89ea86 |
static void
|
|
|
89ea86 |
@@ -974,8 +978,5 @@ void sff8636_show_all_nl(const struct ethtool_module_eeprom *page_zero,
|
|
|
89ea86 |
struct sff8636_memory_map map = {};
|
|
|
89ea86 |
|
|
|
89ea86 |
sff8636_memory_map_init_pages(&map, page_zero, page_three);
|
|
|
89ea86 |
-
|
|
|
89ea86 |
- sff8636_show_identifier(&map);
|
|
|
89ea86 |
- sff8636_show_page_zero(&map);
|
|
|
89ea86 |
- sff8636_show_dom(&map);
|
|
|
89ea86 |
+ sff8636_show_all_common(&map);
|
|
|
89ea86 |
}
|
|
|
89ea86 |
--
|
|
|
89ea86 |
2.35.1
|
|
|
89ea86 |
|