Skip to content

Commit 3d68ecf

Browse files
Jimmy Assarssonmarckleinebudde
authored andcommitted
can: kvaser_pciefd: Expose device firmware version via devlink info_get()
Expose device firmware version via devlink info_get(). Example output: $ devlink dev pci/0000:07:00.0 pci/0000:08:00.0 pci/0000:09:00.0 $ devlink dev info pci/0000:07:00.0: driver kvaser_pciefd versions: running: fw 1.3.75 pci/0000:08:00.0: driver kvaser_pciefd versions: running: fw 2.4.29 pci/0000:09:00.0: driver kvaser_pciefd versions: running: fw 1.3.72 Reviewed-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr> Signed-off-by: Jimmy Assarsson <extja@kvaser.com> Link: https://patch.msgid.link/20250725123230.8-9-extja@kvaser.com Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
1 parent 0d1b337 commit 3d68ecf

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

drivers/net/can/kvaser_pciefd/kvaser_pciefd_devlink.c

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,29 @@
77

88
#include <net/devlink.h>
99

10+
static int kvaser_pciefd_devlink_info_get(struct devlink *devlink,
11+
struct devlink_info_req *req,
12+
struct netlink_ext_ack *extack)
13+
{
14+
struct kvaser_pciefd *pcie = devlink_priv(devlink);
15+
char buf[] = "xxx.xxx.xxxxx";
16+
int ret;
17+
18+
if (pcie->fw_version.major) {
19+
snprintf(buf, sizeof(buf), "%u.%u.%u",
20+
pcie->fw_version.major,
21+
pcie->fw_version.minor,
22+
pcie->fw_version.build);
23+
ret = devlink_info_version_running_put(req,
24+
DEVLINK_INFO_VERSION_GENERIC_FW,
25+
buf);
26+
if (ret)
27+
return ret;
28+
}
29+
30+
return 0;
31+
}
32+
1033
const struct devlink_ops kvaser_pciefd_devlink_ops = {
34+
.info_get = kvaser_pciefd_devlink_info_get,
1135
};

0 commit comments

Comments
 (0)