Skip to content

Commit 0020f2b

Browse files
Jimmy Assarssonmarckleinebudde
authored andcommitted
can: kvaser_usb: Store additional device information
Store additional device information; EAN (product number), serial_number and hardware revision. Reviewed-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr> Signed-off-by: Jimmy Assarsson <extja@kvaser.com> Link: https://patch.msgid.link/20250725123452.41-8-extja@kvaser.com Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
1 parent 280eba3 commit 0020f2b

3 files changed

Lines changed: 13 additions & 2 deletions

File tree

drivers/net/can/usb/kvaser_usb/kvaser_usb.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,10 @@ struct kvaser_usb {
111111
struct usb_endpoint_descriptor *bulk_in, *bulk_out;
112112
struct usb_anchor rx_submitted;
113113

114+
u32 ean[2];
115+
u32 serial_number;
114116
struct kvaser_usb_fw_version fw_version;
117+
u8 hw_revision;
115118
unsigned int nchannels;
116119
/* @max_tx_urbs: Firmware-reported maximum number of outstanding,
117120
* not yet ACKed, transmissions on this device. This value is

drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ struct kvaser_cmd_card_info {
114114
__le32 clock_res;
115115
__le32 mfg_date;
116116
__le32 ean[2];
117-
u8 hw_version;
117+
u8 hw_revision;
118118
u8 usb_mode;
119119
u8 hw_type;
120120
u8 reserved0;
@@ -1918,6 +1918,10 @@ static int kvaser_usb_hydra_get_card_info(struct kvaser_usb *dev)
19181918
err = kvaser_usb_hydra_wait_cmd(dev, CMD_GET_CARD_INFO_RESP, &cmd);
19191919
if (err)
19201920
return err;
1921+
dev->ean[1] = le32_to_cpu(cmd.card_info.ean[1]);
1922+
dev->ean[0] = le32_to_cpu(cmd.card_info.ean[0]);
1923+
dev->serial_number = le32_to_cpu(cmd.card_info.serial_number);
1924+
dev->hw_revision = cmd.card_info.hw_revision;
19211925

19221926
dev->nchannels = cmd.card_info.nchannels;
19231927
if (dev->nchannels > KVASER_USB_MAX_NET_DEVICES)

drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ struct kvaser_cmd_cardinfo {
138138
__le32 padding0;
139139
__le32 clock_resolution;
140140
__le32 mfgdate;
141-
u8 ean[8];
141+
__le32 ean[2];
142142
u8 hw_revision;
143143
union {
144144
struct {
@@ -854,6 +854,10 @@ static int kvaser_usb_leaf_get_card_info(struct kvaser_usb *dev)
854854
(dev->driver_info->family == KVASER_USBCAN &&
855855
dev->nchannels > MAX_USBCAN_NET_DEVICES))
856856
return -EINVAL;
857+
dev->ean[1] = le32_to_cpu(cmd.u.cardinfo.ean[1]);
858+
dev->ean[0] = le32_to_cpu(cmd.u.cardinfo.ean[0]);
859+
dev->serial_number = le32_to_cpu(cmd.u.cardinfo.serial_number);
860+
dev->hw_revision = cmd.u.cardinfo.hw_revision;
857861

858862
return 0;
859863
}

0 commit comments

Comments
 (0)