diff options
| author | Jimmy Assarsson <extja@kvaser.com> | 2025-07-25 14:32:28 +0200 |
|---|---|---|
| committer | Marc Kleine-Budde <mkl@pengutronix.de> | 2025-07-25 17:55:46 +0200 |
| commit | 3d68ecf4173cc42159d32ea0d6d35d4924089003 (patch) | |
| tree | 38faa9a004c6d992885cb3ac25625ec48811da31 /drivers/net/can | |
| parent | 0d1b337b6d6c515555d6abba546e39138f36b111 (diff) | |
| download | linux-3d68ecf4173cc42159d32ea0d6d35d4924089003.tar.gz linux-3d68ecf4173cc42159d32ea0d6d35d4924089003.tar.bz2 linux-3d68ecf4173cc42159d32ea0d6d35d4924089003.zip | |
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>
Diffstat (limited to 'drivers/net/can')
| -rw-r--r-- | drivers/net/can/kvaser_pciefd/kvaser_pciefd_devlink.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/net/can/kvaser_pciefd/kvaser_pciefd_devlink.c b/drivers/net/can/kvaser_pciefd/kvaser_pciefd_devlink.c index 7c2040ed53d7..1fbb40dbbb7a 100644 --- a/drivers/net/can/kvaser_pciefd/kvaser_pciefd_devlink.c +++ b/drivers/net/can/kvaser_pciefd/kvaser_pciefd_devlink.c @@ -7,5 +7,29 @@ #include <net/devlink.h> +static int kvaser_pciefd_devlink_info_get(struct devlink *devlink, + struct devlink_info_req *req, + struct netlink_ext_ack *extack) +{ + struct kvaser_pciefd *pcie = devlink_priv(devlink); + char buf[] = "xxx.xxx.xxxxx"; + int ret; + + if (pcie->fw_version.major) { + snprintf(buf, sizeof(buf), "%u.%u.%u", + pcie->fw_version.major, + pcie->fw_version.minor, + pcie->fw_version.build); + ret = devlink_info_version_running_put(req, + DEVLINK_INFO_VERSION_GENERIC_FW, + buf); + if (ret) + return ret; + } + + return 0; +} + const struct devlink_ops kvaser_pciefd_devlink_ops = { + .info_get = kvaser_pciefd_devlink_info_get, }; |
