mirror of
https://github.com/torvalds/linux.git
synced 2026-06-05 13:06:59 +02:00
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>
This commit is contained in:
parent
280eba332b
commit
0020f2ba40
|
|
@ -111,7 +111,10 @@ struct kvaser_usb {
|
|||
struct usb_endpoint_descriptor *bulk_in, *bulk_out;
|
||||
struct usb_anchor rx_submitted;
|
||||
|
||||
u32 ean[2];
|
||||
u32 serial_number;
|
||||
struct kvaser_usb_fw_version fw_version;
|
||||
u8 hw_revision;
|
||||
unsigned int nchannels;
|
||||
/* @max_tx_urbs: Firmware-reported maximum number of outstanding,
|
||||
* not yet ACKed, transmissions on this device. This value is
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ struct kvaser_cmd_card_info {
|
|||
__le32 clock_res;
|
||||
__le32 mfg_date;
|
||||
__le32 ean[2];
|
||||
u8 hw_version;
|
||||
u8 hw_revision;
|
||||
u8 usb_mode;
|
||||
u8 hw_type;
|
||||
u8 reserved0;
|
||||
|
|
@ -1918,6 +1918,10 @@ static int kvaser_usb_hydra_get_card_info(struct kvaser_usb *dev)
|
|||
err = kvaser_usb_hydra_wait_cmd(dev, CMD_GET_CARD_INFO_RESP, &cmd);
|
||||
if (err)
|
||||
return err;
|
||||
dev->ean[1] = le32_to_cpu(cmd.card_info.ean[1]);
|
||||
dev->ean[0] = le32_to_cpu(cmd.card_info.ean[0]);
|
||||
dev->serial_number = le32_to_cpu(cmd.card_info.serial_number);
|
||||
dev->hw_revision = cmd.card_info.hw_revision;
|
||||
|
||||
dev->nchannels = cmd.card_info.nchannels;
|
||||
if (dev->nchannels > KVASER_USB_MAX_NET_DEVICES)
|
||||
|
|
|
|||
|
|
@ -138,7 +138,7 @@ struct kvaser_cmd_cardinfo {
|
|||
__le32 padding0;
|
||||
__le32 clock_resolution;
|
||||
__le32 mfgdate;
|
||||
u8 ean[8];
|
||||
__le32 ean[2];
|
||||
u8 hw_revision;
|
||||
union {
|
||||
struct {
|
||||
|
|
@ -854,6 +854,10 @@ static int kvaser_usb_leaf_get_card_info(struct kvaser_usb *dev)
|
|||
(dev->driver_info->family == KVASER_USBCAN &&
|
||||
dev->nchannels > MAX_USBCAN_NET_DEVICES))
|
||||
return -EINVAL;
|
||||
dev->ean[1] = le32_to_cpu(cmd.u.cardinfo.ean[1]);
|
||||
dev->ean[0] = le32_to_cpu(cmd.u.cardinfo.ean[0]);
|
||||
dev->serial_number = le32_to_cpu(cmd.u.cardinfo.serial_number);
|
||||
dev->hw_revision = cmd.u.cardinfo.hw_revision;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user