[PATCH v3 0/3] can: etas_es58x: report firmware, bootloader and hardware version

From: Vincent Mailhol
Date: Sat Nov 12 2022 - 23:02:55 EST


The goal of this series is to report the firmware version, the
bootloader version and the hardware revision of ETAS ES58x
devices.

These are already reported in the kernel log but this isn't best
practise. Remove the kernel log and instead export all these in
sysfs. In addition, the firmware version is also reported through
ethtool.


* Changelog *

v2 -> v3:

* patch 2/3: do not spam the kernel log anymore with the product
number. Instead parse the product information string, extract the
firmware version, the bootloadar version and the hardware revision
and export them through sysfs.

* patch 2/3: rework the parsing in order not to need additional
fields in struct es58x_parameters.

* patch 3/3: only populate ethtool_drvinfo::fw_version because since
commit edaf5df22cb8 ("ethtool: ethtool_get_drvinfo: populate
drvinfo fields even if callback exits"), there is no need to
populate ethtool_drvinfo::driver and ethtool_drvinfo::bus_info in
the driver.

v1 -> v2:

* was a single patch. It is now a series of three patches.
* add a first new patch to export usb_cache_string().
* add a second new patch to apply usb_cache_string() to existing code.
* add missing check on product info string to prevent a buffer overflow.
* add comma on the last entry of struct es58x_parameters.

Vincent Mailhol (3):
USB: core: export usb_cache_string()
can: etas_es58x: export firmware, bootloader and hardware versions in
sysfs
can: etas_es58x: report firmware-version through ethtool

drivers/net/can/usb/etas_es58x/Makefile | 2 +-
drivers/net/can/usb/etas_es58x/es58x_core.c | 70 ++----
drivers/net/can/usb/etas_es58x/es58x_core.h | 51 ++++
drivers/net/can/usb/etas_es58x/es58x_sysfs.c | 231 +++++++++++++++++++
drivers/usb/core/message.c | 1 +
drivers/usb/core/usb.h | 1 -
include/linux/usb.h | 1 +
7 files changed, 309 insertions(+), 48 deletions(-)
create mode 100644 drivers/net/can/usb/etas_es58x/es58x_sysfs.c

--
2.37.4