Skip to contentSkip to conversation

kvaser_usb: convert USB IDs to hexadecimal values

PATCH Superseded Oliver Hartkopp 3 participants 5 messages Mar 27, 2023 – Mar 29, 2023 CAN network drivers

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 kvaser_usb: convert USB IDs to hexadecimal values

USB IDs are usually represented in 16 bit hexadecimal values. To match the common representation in lsusb and for searching USB IDs in the internet convert the decimal values to hexadecimal.

---
 .../net/can/usb/kvaser_usb/kvaser_usb_core.c  | 102 +++++++++---------
 1 file changed, 51 insertions(+), 51 deletions(-)
drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c +51 -51
index d4c5356d5884..d0015f83f924 100644
@@ -29,67 +29,67 @@
 #include <linux/can/netlink.h>
 
 #include "kvaser_usb.h"
 
 /* Kvaser USB vendor id. */
-#define KVASER_VENDOR_ID			0x0bfd
+#define KVASER_VENDOR_ID			0x0BFD
 
 /* Kvaser Leaf USB devices product ids */
-#define USB_LEAF_DEVEL_PRODUCT_ID		10
-#define USB_LEAF_LITE_PRODUCT_ID		11
-#define USB_LEAF_PRO_PRODUCT_ID			12
-#define USB_LEAF_SPRO_PRODUCT_ID		14
-#define USB_LEAF_PRO_LS_PRODUCT_ID		15
-#define USB_LEAF_PRO_SWC_PRODUCT_ID		16
-#define USB_LEAF_PRO_LIN_PRODUCT_ID		17
-#define USB_LEAF_SPRO_LS_PRODUCT_ID		18
-#define USB_LEAF_SPRO_SWC_PRODUCT_ID		19
-#define USB_MEMO2_DEVEL_PRODUCT_ID		22
-#define USB_MEMO2_HSHS_PRODUCT_ID		23
-#define USB_UPRO_HSHS_PRODUCT_ID		24
-#define USB_LEAF_LITE_GI_PRODUCT_ID		25
-#define USB_LEAF_PRO_OBDII_PRODUCT_ID		26
-#define USB_MEMO2_HSLS_PRODUCT_ID		27
-#define USB_LEAF_LITE_CH_PRODUCT_ID		28
-#define USB_BLACKBIRD_SPRO_PRODUCT_ID		29
-#define USB_OEM_MERCURY_PRODUCT_ID		34
-#define USB_OEM_LEAF_PRODUCT_ID			35
-#define USB_CAN_R_PRODUCT_ID			39
-#define USB_LEAF_LITE_V2_PRODUCT_ID		288
-#define USB_MINI_PCIE_HS_PRODUCT_ID		289
-#define USB_LEAF_LIGHT_HS_V2_OEM_PRODUCT_ID	290
-#define USB_USBCAN_LIGHT_2HS_PRODUCT_ID		291
-#define USB_MINI_PCIE_2HS_PRODUCT_ID		292
-#define USB_USBCAN_R_V2_PRODUCT_ID		294
-#define USB_LEAF_LIGHT_R_V2_PRODUCT_ID		295
-#define USB_LEAF_LIGHT_HS_V2_OEM2_PRODUCT_ID	296
+#define USB_LEAF_DEVEL_PRODUCT_ID		0x000A
+#define USB_LEAF_LITE_PRODUCT_ID		0x000B
+#define USB_LEAF_PRO_PRODUCT_ID			0x000C
+#define USB_LEAF_SPRO_PRODUCT_ID		0x000E
+#define USB_LEAF_PRO_LS_PRODUCT_ID		0x000F
+#define USB_LEAF_PRO_SWC_PRODUCT_ID		0x0010
+#define USB_LEAF_PRO_LIN_PRODUCT_ID		0x0011
+#define USB_LEAF_SPRO_LS_PRODUCT_ID		0x0012
+#define USB_LEAF_SPRO_SWC_PRODUCT_ID		0x0013
+#define USB_MEMO2_DEVEL_PRODUCT_ID		0x0016
+#define USB_MEMO2_HSHS_PRODUCT_ID		0x0017
+#define USB_UPRO_HSHS_PRODUCT_ID		0x0018
+#define USB_LEAF_LITE_GI_PRODUCT_ID		0x0019
+#define USB_LEAF_PRO_OBDII_PRODUCT_ID		0x001A
+#define USB_MEMO2_HSLS_PRODUCT_ID		0x001B
+#define USB_LEAF_LITE_CH_PRODUCT_ID		0x001C
+#define USB_BLACKBIRD_SPRO_PRODUCT_ID		0x001D
+#define USB_OEM_MERCURY_PRODUCT_ID		0x0022
+#define USB_OEM_LEAF_PRODUCT_ID			0x0023
+#define USB_CAN_R_PRODUCT_ID			0x0027
+#define USB_LEAF_LITE_V2_PRODUCT_ID		0x0120
+#define USB_MINI_PCIE_HS_PRODUCT_ID		0x0121
+#define USB_LEAF_LIGHT_HS_V2_OEM_PRODUCT_ID	0x0122
+#define USB_USBCAN_LIGHT_2HS_PRODUCT_ID		0x0123
+#define USB_MINI_PCIE_2HS_PRODUCT_ID		0x0124
+#define USB_USBCAN_R_V2_PRODUCT_ID		0x0126
+#define USB_LEAF_LIGHT_R_V2_PRODUCT_ID		0x0127
+#define USB_LEAF_LIGHT_HS_V2_OEM2_PRODUCT_ID	0x0128
 
 /* Kvaser USBCan-II devices product ids */
-#define USB_USBCAN_REVB_PRODUCT_ID		2
-#define USB_VCI2_PRODUCT_ID			3
-#define USB_USBCAN2_PRODUCT_ID			4
-#define USB_MEMORATOR_PRODUCT_ID		5
+#define USB_USBCAN_REVB_PRODUCT_ID		0x0002
+#define USB_VCI2_PRODUCT_ID			0x0003
+#define USB_USBCAN2_PRODUCT_ID			0x0004
+#define USB_MEMORATOR_PRODUCT_ID		0x0005
 
 /* Kvaser Minihydra USB devices product ids */
-#define USB_BLACKBIRD_V2_PRODUCT_ID		258
-#define USB_MEMO_PRO_5HS_PRODUCT_ID		260
-#define USB_USBCAN_PRO_5HS_PRODUCT_ID		261
-#define USB_USBCAN_LIGHT_4HS_PRODUCT_ID		262
-#define USB_LEAF_PRO_HS_V2_PRODUCT_ID		263
-#define USB_USBCAN_PRO_2HS_V2_PRODUCT_ID	264
-#define USB_MEMO_2HS_PRODUCT_ID			265
-#define USB_MEMO_PRO_2HS_V2_PRODUCT_ID		266
-#define USB_HYBRID_2CANLIN_PRODUCT_ID		267
-#define USB_ATI_USBCAN_PRO_2HS_V2_PRODUCT_ID	268
-#define USB_ATI_MEMO_PRO_2HS_V2_PRODUCT_ID	269
-#define USB_HYBRID_PRO_2CANLIN_PRODUCT_ID	270
-#define USB_U100_PRODUCT_ID			273
-#define USB_U100P_PRODUCT_ID			274
-#define USB_U100S_PRODUCT_ID			275
-#define USB_USBCAN_PRO_4HS_PRODUCT_ID		276
-#define USB_HYBRID_CANLIN_PRODUCT_ID		277
-#define USB_HYBRID_PRO_CANLIN_PRODUCT_ID	278
+#define USB_BLACKBIRD_V2_PRODUCT_ID		0x0102
+#define USB_MEMO_PRO_5HS_PRODUCT_ID		0x0104
+#define USB_USBCAN_PRO_5HS_PRODUCT_ID		0x0105
+#define USB_USBCAN_LIGHT_4HS_PRODUCT_ID		0x0106
+#define USB_LEAF_PRO_HS_V2_PRODUCT_ID		0x0107
+#define USB_USBCAN_PRO_2HS_V2_PRODUCT_ID	0x0108
+#define USB_MEMO_2HS_PRODUCT_ID			0x0109
+#define USB_MEMO_PRO_2HS_V2_PRODUCT_ID		0x010A
+#define USB_HYBRID_2CANLIN_PRODUCT_ID		0x010B
+#define USB_ATI_USBCAN_PRO_2HS_V2_PRODUCT_ID	0x010C
+#define USB_ATI_MEMO_PRO_2HS_V2_PRODUCT_ID	0x010D
+#define USB_HYBRID_PRO_2CANLIN_PRODUCT_ID	0x010E
+#define USB_U100_PRODUCT_ID			0x0111
+#define USB_U100P_PRODUCT_ID			0x0112
+#define USB_U100S_PRODUCT_ID			0x0113
+#define USB_USBCAN_PRO_4HS_PRODUCT_ID		0x0114
+#define USB_HYBRID_CANLIN_PRODUCT_ID		0x0115
+#define USB_HYBRID_PRO_CANLIN_PRODUCT_ID	0x0116
 
 static const struct kvaser_usb_driver_info kvaser_usb_driver_info_hydra = {
 	.quirks = KVASER_USB_QUIRK_HAS_HARDWARE_TIMESTAMP,
 	.ops = &kvaser_usb_hydra_dev_ops,
 };
Signature · 1 line
2.30.2
Acked-by on v1 1/1
#1 lore raw
Quoted 3 lines · Oliver Hartkopp

USB IDs are usually represented in 16 bit hexadecimal values. To match the common representation in lsusb and for searching USB IDs in the internet convert the decimal values to hexadecimal.

Thanks for the patch!

I'm about drop the aligned block indentation, in favour of consistent one space indentation, for the entire driver. Feel free to update the patch, or I'll fix it in a separate patch later.

Best regards,
jimmy

Quoted 129 lines
---
  .../net/can/usb/kvaser_usb/kvaser_usb_core.c  | 102 +++++++++---------
  1 file changed, 51 insertions(+), 51 deletions(-)
drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c +51 -51
index d4c5356d5884..d0015f83f924 100644
@@ -29,67 +29,67 @@
  #include <linux/can/netlink.h>
 
  #include "kvaser_usb.h"
 
  /* Kvaser USB vendor id. */
-#define KVASER_VENDOR_ID			0x0bfd
+#define KVASER_VENDOR_ID			0x0BFD
 
  /* Kvaser Leaf USB devices product ids */
-#define USB_LEAF_DEVEL_PRODUCT_ID		10
-#define USB_LEAF_LITE_PRODUCT_ID		11
-#define USB_LEAF_PRO_PRODUCT_ID			12
-#define USB_LEAF_SPRO_PRODUCT_ID		14
-#define USB_LEAF_PRO_LS_PRODUCT_ID		15
-#define USB_LEAF_PRO_SWC_PRODUCT_ID		16
-#define USB_LEAF_PRO_LIN_PRODUCT_ID		17
-#define USB_LEAF_SPRO_LS_PRODUCT_ID		18
-#define USB_LEAF_SPRO_SWC_PRODUCT_ID		19
-#define USB_MEMO2_DEVEL_PRODUCT_ID		22
-#define USB_MEMO2_HSHS_PRODUCT_ID		23
-#define USB_UPRO_HSHS_PRODUCT_ID		24
-#define USB_LEAF_LITE_GI_PRODUCT_ID		25
-#define USB_LEAF_PRO_OBDII_PRODUCT_ID		26
-#define USB_MEMO2_HSLS_PRODUCT_ID		27
-#define USB_LEAF_LITE_CH_PRODUCT_ID		28
-#define USB_BLACKBIRD_SPRO_PRODUCT_ID		29
-#define USB_OEM_MERCURY_PRODUCT_ID		34
-#define USB_OEM_LEAF_PRODUCT_ID			35
-#define USB_CAN_R_PRODUCT_ID			39
-#define USB_LEAF_LITE_V2_PRODUCT_ID		288
-#define USB_MINI_PCIE_HS_PRODUCT_ID		289
-#define USB_LEAF_LIGHT_HS_V2_OEM_PRODUCT_ID	290
-#define USB_USBCAN_LIGHT_2HS_PRODUCT_ID		291
-#define USB_MINI_PCIE_2HS_PRODUCT_ID		292
-#define USB_USBCAN_R_V2_PRODUCT_ID		294
-#define USB_LEAF_LIGHT_R_V2_PRODUCT_ID		295
-#define USB_LEAF_LIGHT_HS_V2_OEM2_PRODUCT_ID	296
+#define USB_LEAF_DEVEL_PRODUCT_ID		0x000A
+#define USB_LEAF_LITE_PRODUCT_ID		0x000B
+#define USB_LEAF_PRO_PRODUCT_ID			0x000C
+#define USB_LEAF_SPRO_PRODUCT_ID		0x000E
+#define USB_LEAF_PRO_LS_PRODUCT_ID		0x000F
+#define USB_LEAF_PRO_SWC_PRODUCT_ID		0x0010
+#define USB_LEAF_PRO_LIN_PRODUCT_ID		0x0011
+#define USB_LEAF_SPRO_LS_PRODUCT_ID		0x0012
+#define USB_LEAF_SPRO_SWC_PRODUCT_ID		0x0013
+#define USB_MEMO2_DEVEL_PRODUCT_ID		0x0016
+#define USB_MEMO2_HSHS_PRODUCT_ID		0x0017
+#define USB_UPRO_HSHS_PRODUCT_ID		0x0018
+#define USB_LEAF_LITE_GI_PRODUCT_ID		0x0019
+#define USB_LEAF_PRO_OBDII_PRODUCT_ID		0x001A
+#define USB_MEMO2_HSLS_PRODUCT_ID		0x001B
+#define USB_LEAF_LITE_CH_PRODUCT_ID		0x001C
+#define USB_BLACKBIRD_SPRO_PRODUCT_ID		0x001D
+#define USB_OEM_MERCURY_PRODUCT_ID		0x0022
+#define USB_OEM_LEAF_PRODUCT_ID			0x0023
+#define USB_CAN_R_PRODUCT_ID			0x0027
+#define USB_LEAF_LITE_V2_PRODUCT_ID		0x0120
+#define USB_MINI_PCIE_HS_PRODUCT_ID		0x0121
+#define USB_LEAF_LIGHT_HS_V2_OEM_PRODUCT_ID	0x0122
+#define USB_USBCAN_LIGHT_2HS_PRODUCT_ID		0x0123
+#define USB_MINI_PCIE_2HS_PRODUCT_ID		0x0124
+#define USB_USBCAN_R_V2_PRODUCT_ID		0x0126
+#define USB_LEAF_LIGHT_R_V2_PRODUCT_ID		0x0127
+#define USB_LEAF_LIGHT_HS_V2_OEM2_PRODUCT_ID	0x0128
 
  /* Kvaser USBCan-II devices product ids */
-#define USB_USBCAN_REVB_PRODUCT_ID		2
-#define USB_VCI2_PRODUCT_ID			3
-#define USB_USBCAN2_PRODUCT_ID			4
-#define USB_MEMORATOR_PRODUCT_ID		5
+#define USB_USBCAN_REVB_PRODUCT_ID		0x0002
+#define USB_VCI2_PRODUCT_ID			0x0003
+#define USB_USBCAN2_PRODUCT_ID			0x0004
+#define USB_MEMORATOR_PRODUCT_ID		0x0005
 
  /* Kvaser Minihydra USB devices product ids */
-#define USB_BLACKBIRD_V2_PRODUCT_ID		258
-#define USB_MEMO_PRO_5HS_PRODUCT_ID		260
-#define USB_USBCAN_PRO_5HS_PRODUCT_ID		261
-#define USB_USBCAN_LIGHT_4HS_PRODUCT_ID		262
-#define USB_LEAF_PRO_HS_V2_PRODUCT_ID		263
-#define USB_USBCAN_PRO_2HS_V2_PRODUCT_ID	264
-#define USB_MEMO_2HS_PRODUCT_ID			265
-#define USB_MEMO_PRO_2HS_V2_PRODUCT_ID		266
-#define USB_HYBRID_2CANLIN_PRODUCT_ID		267
-#define USB_ATI_USBCAN_PRO_2HS_V2_PRODUCT_ID	268
-#define USB_ATI_MEMO_PRO_2HS_V2_PRODUCT_ID	269
-#define USB_HYBRID_PRO_2CANLIN_PRODUCT_ID	270
-#define USB_U100_PRODUCT_ID			273
-#define USB_U100P_PRODUCT_ID			274
-#define USB_U100S_PRODUCT_ID			275
-#define USB_USBCAN_PRO_4HS_PRODUCT_ID		276
-#define USB_HYBRID_CANLIN_PRODUCT_ID		277
-#define USB_HYBRID_PRO_CANLIN_PRODUCT_ID	278
+#define USB_BLACKBIRD_V2_PRODUCT_ID		0x0102
+#define USB_MEMO_PRO_5HS_PRODUCT_ID		0x0104
+#define USB_USBCAN_PRO_5HS_PRODUCT_ID		0x0105
+#define USB_USBCAN_LIGHT_4HS_PRODUCT_ID		0x0106
+#define USB_LEAF_PRO_HS_V2_PRODUCT_ID		0x0107
+#define USB_USBCAN_PRO_2HS_V2_PRODUCT_ID	0x0108
+#define USB_MEMO_2HS_PRODUCT_ID			0x0109
+#define USB_MEMO_PRO_2HS_V2_PRODUCT_ID		0x010A
+#define USB_HYBRID_2CANLIN_PRODUCT_ID		0x010B
+#define USB_ATI_USBCAN_PRO_2HS_V2_PRODUCT_ID	0x010C
+#define USB_ATI_MEMO_PRO_2HS_V2_PRODUCT_ID	0x010D
+#define USB_HYBRID_PRO_2CANLIN_PRODUCT_ID	0x010E
+#define USB_U100_PRODUCT_ID			0x0111
+#define USB_U100P_PRODUCT_ID			0x0112
+#define USB_U100S_PRODUCT_ID			0x0113
+#define USB_USBCAN_PRO_4HS_PRODUCT_ID		0x0114
+#define USB_HYBRID_CANLIN_PRODUCT_ID		0x0115
+#define USB_HYBRID_PRO_CANLIN_PRODUCT_ID	0x0116
 
  static const struct kvaser_usb_driver_info kvaser_usb_driver_info_hydra = {
  	.quirks = KVASER_USB_QUIRK_HAS_HARDWARE_TIMESTAMP,
  	.ops = &kvaser_usb_hydra_dev_ops,
  };
#2 lore raw
Quoted 11 lines · Jimmy Assarsson
Quoted 3 lines · Oliver Hartkopp

USB IDs are usually represented in 16 bit hexadecimal values. To match the common representation in lsusb and for searching USB IDs in the internet convert the decimal values to hexadecimal.

Thanks for the patch!

I'm about drop the aligned block indentation, in favour of consistent one space indentation, for the entire driver. Feel free to update the patch, or I'll fix it in a separate patch later.

As I will send a V2 with lowercase hex letters anyway I can directly replace the block indentation with a single space.

Quoted 1 line

Many thanks,
Oliver

Quoted 127 lines

Best regards,
jimmy

Quoted 123 lines

---
  .../net/can/usb/kvaser_usb/kvaser_usb_core.c  | 102 +++++++++---------

  1 file changed, 51 insertions(+), 51 deletions(-)
drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c +51 -51
index d4c5356d5884..d0015f83f924 100644
@@ -29,67 +29,67 @@
   #include <linux/can/netlink.h>
   #include "kvaser_usb.h"
   /* Kvaser USB vendor id. */
-#define KVASER_VENDOR_ID            0x0bfd
+#define KVASER_VENDOR_ID            0x0BFD
   /* Kvaser Leaf USB devices product ids */
-#define USB_LEAF_DEVEL_PRODUCT_ID        10
-#define USB_LEAF_LITE_PRODUCT_ID        11
-#define USB_LEAF_PRO_PRODUCT_ID            12
-#define USB_LEAF_SPRO_PRODUCT_ID        14
-#define USB_LEAF_PRO_LS_PRODUCT_ID        15
-#define USB_LEAF_PRO_SWC_PRODUCT_ID        16
-#define USB_LEAF_PRO_LIN_PRODUCT_ID        17
-#define USB_LEAF_SPRO_LS_PRODUCT_ID        18
-#define USB_LEAF_SPRO_SWC_PRODUCT_ID        19
-#define USB_MEMO2_DEVEL_PRODUCT_ID        22
-#define USB_MEMO2_HSHS_PRODUCT_ID        23
-#define USB_UPRO_HSHS_PRODUCT_ID        24
-#define USB_LEAF_LITE_GI_PRODUCT_ID        25
-#define USB_LEAF_PRO_OBDII_PRODUCT_ID        26
-#define USB_MEMO2_HSLS_PRODUCT_ID        27
-#define USB_LEAF_LITE_CH_PRODUCT_ID        28
-#define USB_BLACKBIRD_SPRO_PRODUCT_ID        29
-#define USB_OEM_MERCURY_PRODUCT_ID        34
-#define USB_OEM_LEAF_PRODUCT_ID            35
-#define USB_CAN_R_PRODUCT_ID            39
-#define USB_LEAF_LITE_V2_PRODUCT_ID        288
-#define USB_MINI_PCIE_HS_PRODUCT_ID        289
-#define USB_LEAF_LIGHT_HS_V2_OEM_PRODUCT_ID    290
-#define USB_USBCAN_LIGHT_2HS_PRODUCT_ID        291
-#define USB_MINI_PCIE_2HS_PRODUCT_ID        292
-#define USB_USBCAN_R_V2_PRODUCT_ID        294
-#define USB_LEAF_LIGHT_R_V2_PRODUCT_ID        295
-#define USB_LEAF_LIGHT_HS_V2_OEM2_PRODUCT_ID    296
+#define USB_LEAF_DEVEL_PRODUCT_ID        0x000A
+#define USB_LEAF_LITE_PRODUCT_ID        0x000B
+#define USB_LEAF_PRO_PRODUCT_ID            0x000C
+#define USB_LEAF_SPRO_PRODUCT_ID        0x000E
+#define USB_LEAF_PRO_LS_PRODUCT_ID        0x000F
+#define USB_LEAF_PRO_SWC_PRODUCT_ID        0x0010
+#define USB_LEAF_PRO_LIN_PRODUCT_ID        0x0011
+#define USB_LEAF_SPRO_LS_PRODUCT_ID        0x0012
+#define USB_LEAF_SPRO_SWC_PRODUCT_ID        0x0013
+#define USB_MEMO2_DEVEL_PRODUCT_ID        0x0016
+#define USB_MEMO2_HSHS_PRODUCT_ID        0x0017
+#define USB_UPRO_HSHS_PRODUCT_ID        0x0018
+#define USB_LEAF_LITE_GI_PRODUCT_ID        0x0019
+#define USB_LEAF_PRO_OBDII_PRODUCT_ID        0x001A
+#define USB_MEMO2_HSLS_PRODUCT_ID        0x001B
+#define USB_LEAF_LITE_CH_PRODUCT_ID        0x001C
+#define USB_BLACKBIRD_SPRO_PRODUCT_ID        0x001D
+#define USB_OEM_MERCURY_PRODUCT_ID        0x0022
+#define USB_OEM_LEAF_PRODUCT_ID            0x0023
+#define USB_CAN_R_PRODUCT_ID            0x0027
+#define USB_LEAF_LITE_V2_PRODUCT_ID        0x0120
+#define USB_MINI_PCIE_HS_PRODUCT_ID        0x0121
+#define USB_LEAF_LIGHT_HS_V2_OEM_PRODUCT_ID    0x0122
+#define USB_USBCAN_LIGHT_2HS_PRODUCT_ID        0x0123
+#define USB_MINI_PCIE_2HS_PRODUCT_ID        0x0124
+#define USB_USBCAN_R_V2_PRODUCT_ID        0x0126
+#define USB_LEAF_LIGHT_R_V2_PRODUCT_ID        0x0127
+#define USB_LEAF_LIGHT_HS_V2_OEM2_PRODUCT_ID    0x0128
   /* Kvaser USBCan-II devices product ids */
-#define USB_USBCAN_REVB_PRODUCT_ID        2
-#define USB_VCI2_PRODUCT_ID            3
-#define USB_USBCAN2_PRODUCT_ID            4
-#define USB_MEMORATOR_PRODUCT_ID        5
+#define USB_USBCAN_REVB_PRODUCT_ID        0x0002
+#define USB_VCI2_PRODUCT_ID            0x0003
+#define USB_USBCAN2_PRODUCT_ID            0x0004
+#define USB_MEMORATOR_PRODUCT_ID        0x0005
   /* Kvaser Minihydra USB devices product ids */
-#define USB_BLACKBIRD_V2_PRODUCT_ID        258
-#define USB_MEMO_PRO_5HS_PRODUCT_ID        260
-#define USB_USBCAN_PRO_5HS_PRODUCT_ID        261
-#define USB_USBCAN_LIGHT_4HS_PRODUCT_ID        262
-#define USB_LEAF_PRO_HS_V2_PRODUCT_ID        263
-#define USB_USBCAN_PRO_2HS_V2_PRODUCT_ID    264
-#define USB_MEMO_2HS_PRODUCT_ID            265
-#define USB_MEMO_PRO_2HS_V2_PRODUCT_ID        266
-#define USB_HYBRID_2CANLIN_PRODUCT_ID        267
-#define USB_ATI_USBCAN_PRO_2HS_V2_PRODUCT_ID    268
-#define USB_ATI_MEMO_PRO_2HS_V2_PRODUCT_ID    269
-#define USB_HYBRID_PRO_2CANLIN_PRODUCT_ID    270
-#define USB_U100_PRODUCT_ID            273
-#define USB_U100P_PRODUCT_ID            274
-#define USB_U100S_PRODUCT_ID            275
-#define USB_USBCAN_PRO_4HS_PRODUCT_ID        276
-#define USB_HYBRID_CANLIN_PRODUCT_ID        277
-#define USB_HYBRID_PRO_CANLIN_PRODUCT_ID    278
+#define USB_BLACKBIRD_V2_PRODUCT_ID        0x0102
+#define USB_MEMO_PRO_5HS_PRODUCT_ID        0x0104
+#define USB_USBCAN_PRO_5HS_PRODUCT_ID        0x0105
+#define USB_USBCAN_LIGHT_4HS_PRODUCT_ID        0x0106
+#define USB_LEAF_PRO_HS_V2_PRODUCT_ID        0x0107
+#define USB_USBCAN_PRO_2HS_V2_PRODUCT_ID    0x0108
+#define USB_MEMO_2HS_PRODUCT_ID            0x0109
+#define USB_MEMO_PRO_2HS_V2_PRODUCT_ID        0x010A
+#define USB_HYBRID_2CANLIN_PRODUCT_ID        0x010B
+#define USB_ATI_USBCAN_PRO_2HS_V2_PRODUCT_ID    0x010C
+#define USB_ATI_MEMO_PRO_2HS_V2_PRODUCT_ID    0x010D
+#define USB_HYBRID_PRO_2CANLIN_PRODUCT_ID    0x010E
+#define USB_U100_PRODUCT_ID            0x0111
+#define USB_U100P_PRODUCT_ID            0x0112
+#define USB_U100S_PRODUCT_ID            0x0113
+#define USB_USBCAN_PRO_4HS_PRODUCT_ID        0x0114
+#define USB_HYBRID_CANLIN_PRODUCT_ID        0x0115
+#define USB_HYBRID_PRO_CANLIN_PRODUCT_ID    0x0116
   static const struct kvaser_usb_driver_info kvaser_usb_driver_info_hydra = {
       .quirks = KVASER_USB_QUIRK_HAS_HARDWARE_TIMESTAMP,
       .ops = &kvaser_usb_hydra_dev_ops,
   };
Reviewed-by on v1 1/1
#3 lore raw
In reply to Oliver Hartkopp

Hello Oliver,

Am Mon, Mar 27, 2023 at 07:53:44PM +0200 schrieb Oliver Hartkopp:

Quoted 3 lines

USB IDs are usually represented in 16 bit hexadecimal values. To match the common representation in lsusb and for searching USB IDs in the internet convert the decimal values to hexadecimal.

lsusb representation on my machines is lowercase for the letters a-f. From a quick grep over drivers/usb I can see no clear preference, but I'd say more use lowercase.

Quoted 11 lines
---
 .../net/can/usb/kvaser_usb/kvaser_usb_core.c  | 102 +++++++++---------
 1 file changed, 51 insertions(+), 51 deletions(-)
drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c +0 -0
index d4c5356d5884..d0015f83f924 100644

drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c line 34

Quoted 7 lines
drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c +1 -1
@@ -29,67 +29,67 @@
 #include <linux/can/netlink.h>
 
 #include "kvaser_usb.h"
 
 /* Kvaser USB vendor id. */
-#define KVASER_VENDOR_ID			0x0bfd
+#define KVASER_VENDOR_ID			0x0BFD

That would also make this change not needed.

Quoted 47 lines
drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c +18 -28
 /* Kvaser Leaf USB devices product ids */
-#define USB_LEAF_DEVEL_PRODUCT_ID		10
-#define USB_LEAF_LITE_PRODUCT_ID		11
-#define USB_LEAF_PRO_PRODUCT_ID			12
-#define USB_LEAF_SPRO_PRODUCT_ID		14
-#define USB_LEAF_PRO_LS_PRODUCT_ID		15
-#define USB_LEAF_PRO_SWC_PRODUCT_ID		16
-#define USB_LEAF_PRO_LIN_PRODUCT_ID		17
-#define USB_LEAF_SPRO_LS_PRODUCT_ID		18
-#define USB_LEAF_SPRO_SWC_PRODUCT_ID		19
-#define USB_MEMO2_DEVEL_PRODUCT_ID		22
-#define USB_MEMO2_HSHS_PRODUCT_ID		23
-#define USB_UPRO_HSHS_PRODUCT_ID		24
-#define USB_LEAF_LITE_GI_PRODUCT_ID		25
-#define USB_LEAF_PRO_OBDII_PRODUCT_ID		26
-#define USB_MEMO2_HSLS_PRODUCT_ID		27
-#define USB_LEAF_LITE_CH_PRODUCT_ID		28
-#define USB_BLACKBIRD_SPRO_PRODUCT_ID		29
-#define USB_OEM_MERCURY_PRODUCT_ID		34
-#define USB_OEM_LEAF_PRODUCT_ID			35
-#define USB_CAN_R_PRODUCT_ID			39
-#define USB_LEAF_LITE_V2_PRODUCT_ID		288
-#define USB_MINI_PCIE_HS_PRODUCT_ID		289
-#define USB_LEAF_LIGHT_HS_V2_OEM_PRODUCT_ID	290
-#define USB_USBCAN_LIGHT_2HS_PRODUCT_ID		291
-#define USB_MINI_PCIE_2HS_PRODUCT_ID		292
-#define USB_USBCAN_R_V2_PRODUCT_ID		294
-#define USB_LEAF_LIGHT_R_V2_PRODUCT_ID		295
-#define USB_LEAF_LIGHT_HS_V2_OEM2_PRODUCT_ID	296
+#define USB_LEAF_DEVEL_PRODUCT_ID		0x000A
+#define USB_LEAF_LITE_PRODUCT_ID		0x000B
+#define USB_LEAF_PRO_PRODUCT_ID			0x000C
+#define USB_LEAF_SPRO_PRODUCT_ID		0x000E
+#define USB_LEAF_PRO_LS_PRODUCT_ID		0x000F
+#define USB_LEAF_PRO_SWC_PRODUCT_ID		0x0010
+#define USB_LEAF_PRO_LIN_PRODUCT_ID		0x0011
+#define USB_LEAF_SPRO_LS_PRODUCT_ID		0x0012
+#define USB_LEAF_SPRO_SWC_PRODUCT_ID		0x0013
+#define USB_MEMO2_DEVEL_PRODUCT_ID		0x0016
+#define USB_MEMO2_HSHS_PRODUCT_ID		0x0017
+#define USB_UPRO_HSHS_PRODUCT_ID		0x0018
+#define USB_LEAF_LITE_GI_PRODUCT_ID		0x0019
+#define USB_LEAF_PRO_OBDII_PRODUCT_ID		0x001A
+#define USB_MEMO2_HSLS_PRODUCT_ID		0x001B
+#define USB_LEAF_LITE_CH_PRODUCT_ID		0x001C
+#define USB_BLACKBIRD_SPRO_PRODUCT_ID		0x001D
+#define USB_OEM_MERCURY_PRODUCT_ID		0x0022

drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c line 64

Quoted 10 lines
drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c +10 -0
+#define USB_OEM_LEAF_PRODUCT_ID			0x0023
+#define USB_CAN_R_PRODUCT_ID			0x0027
+#define USB_LEAF_LITE_V2_PRODUCT_ID		0x0120
+#define USB_MINI_PCIE_HS_PRODUCT_ID		0x0121
+#define USB_LEAF_LIGHT_HS_V2_OEM_PRODUCT_ID	0x0122
+#define USB_USBCAN_LIGHT_2HS_PRODUCT_ID		0x0123
+#define USB_MINI_PCIE_2HS_PRODUCT_ID		0x0124
+#define USB_USBCAN_R_V2_PRODUCT_ID		0x0126
+#define USB_LEAF_LIGHT_R_V2_PRODUCT_ID		0x0127
+#define USB_LEAF_LIGHT_HS_V2_OEM2_PRODUCT_ID	0x0128

Decimal match hex.

drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c line 70

Quoted 9 lines
drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c +4 -4
 /* Kvaser USBCan-II devices product ids */
-#define USB_USBCAN_REVB_PRODUCT_ID		2
-#define USB_VCI2_PRODUCT_ID			3
-#define USB_USBCAN2_PRODUCT_ID			4
-#define USB_MEMORATOR_PRODUCT_ID		5
+#define USB_USBCAN_REVB_PRODUCT_ID		0x0002
+#define USB_VCI2_PRODUCT_ID			0x0003
+#define USB_USBCAN2_PRODUCT_ID			0x0004
+#define USB_MEMORATOR_PRODUCT_ID		0x0005

Decimal match hex.

Quoted 27 lines
drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c +8 -18
 /* Kvaser Minihydra USB devices product ids */
-#define USB_BLACKBIRD_V2_PRODUCT_ID		258
-#define USB_MEMO_PRO_5HS_PRODUCT_ID		260
-#define USB_USBCAN_PRO_5HS_PRODUCT_ID		261
-#define USB_USBCAN_LIGHT_4HS_PRODUCT_ID		262
-#define USB_LEAF_PRO_HS_V2_PRODUCT_ID		263
-#define USB_USBCAN_PRO_2HS_V2_PRODUCT_ID	264
-#define USB_MEMO_2HS_PRODUCT_ID			265
-#define USB_MEMO_PRO_2HS_V2_PRODUCT_ID		266
-#define USB_HYBRID_2CANLIN_PRODUCT_ID		267
-#define USB_ATI_USBCAN_PRO_2HS_V2_PRODUCT_ID	268
-#define USB_ATI_MEMO_PRO_2HS_V2_PRODUCT_ID	269
-#define USB_HYBRID_PRO_2CANLIN_PRODUCT_ID	270
-#define USB_U100_PRODUCT_ID			273
-#define USB_U100P_PRODUCT_ID			274
-#define USB_U100S_PRODUCT_ID			275
-#define USB_USBCAN_PRO_4HS_PRODUCT_ID		276
-#define USB_HYBRID_CANLIN_PRODUCT_ID		277
-#define USB_HYBRID_PRO_CANLIN_PRODUCT_ID	278
+#define USB_BLACKBIRD_V2_PRODUCT_ID		0x0102
+#define USB_MEMO_PRO_5HS_PRODUCT_ID		0x0104
+#define USB_USBCAN_PRO_5HS_PRODUCT_ID		0x0105
+#define USB_USBCAN_LIGHT_4HS_PRODUCT_ID		0x0106
+#define USB_LEAF_PRO_HS_V2_PRODUCT_ID		0x0107
+#define USB_USBCAN_PRO_2HS_V2_PRODUCT_ID	0x0108
+#define USB_MEMO_2HS_PRODUCT_ID			0x0109
+#define USB_MEMO_PRO_2HS_V2_PRODUCT_ID		0x010A

drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c line 90

Quoted 10 lines
drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c +10 -0
+#define USB_HYBRID_2CANLIN_PRODUCT_ID		0x010B
+#define USB_ATI_USBCAN_PRO_2HS_V2_PRODUCT_ID	0x010C
+#define USB_ATI_MEMO_PRO_2HS_V2_PRODUCT_ID	0x010D
+#define USB_HYBRID_PRO_2CANLIN_PRODUCT_ID	0x010E
+#define USB_U100_PRODUCT_ID			0x0111
+#define USB_U100P_PRODUCT_ID			0x0112
+#define USB_U100S_PRODUCT_ID			0x0113
+#define USB_USBCAN_PRO_4HS_PRODUCT_ID		0x0114
+#define USB_HYBRID_CANLIN_PRODUCT_ID		0x0115
+#define USB_HYBRID_PRO_CANLIN_PRODUCT_ID	0x0116

Decimal match hex. So for the actual values:

Greets
Alex

Quoted 8 lines
drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c +0 -0
 static const struct kvaser_usb_driver_info kvaser_usb_driver_info_hydra = {
 	.quirks = KVASER_USB_QUIRK_HAS_HARDWARE_TIMESTAMP,
 	.ops = &kvaser_usb_hydra_dev_ops,
 };
Signature · 1 line
2.30.2
#4 lore raw
Quoted 11 lines · Alexander Dahl

Hello Oliver,

Am Mon, Mar 27, 2023 at 07:53:44PM +0200 schrieb Oliver Hartkopp:

Quoted 3 lines

USB IDs are usually represented in 16 bit hexadecimal values. To match the common representation in lsusb and for searching USB IDs in the internet convert the decimal values to hexadecimal.

lsusb representation on my machines is lowercase for the letters a-f.
From a quick grep over drivers/usb I can see no clear preference, but
I'd say more use lowercase.

That's right!

I will send a V2 having the hex values lower case.

Quoted 13 lines
Quoted 13 lines
---
  .../net/can/usb/kvaser_usb/kvaser_usb_core.c  | 102 +++++++++---------
  1 file changed, 51 insertions(+), 51 deletions(-)
drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c +0 -0
index d4c5356d5884..d0015f83f924 100644
@@ -29,67 +29,67 @@
  #include <linux/can/netlink.h>
 
Quoted 8 lines

drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c line 34

Quoted 5 lines
drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c +1 -1
  #include "kvaser_usb.h"
 
  /* Kvaser USB vendor id. */
-#define KVASER_VENDOR_ID			0x0bfd
+#define KVASER_VENDOR_ID			0x0BFD

That would also make this change not needed.

ACK

Quoted 103 lines
Quoted 47 lines
drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c +18 -28
  /* Kvaser Leaf USB devices product ids */
-#define USB_LEAF_DEVEL_PRODUCT_ID		10
-#define USB_LEAF_LITE_PRODUCT_ID		11
-#define USB_LEAF_PRO_PRODUCT_ID			12
-#define USB_LEAF_SPRO_PRODUCT_ID		14
-#define USB_LEAF_PRO_LS_PRODUCT_ID		15
-#define USB_LEAF_PRO_SWC_PRODUCT_ID		16
-#define USB_LEAF_PRO_LIN_PRODUCT_ID		17
-#define USB_LEAF_SPRO_LS_PRODUCT_ID		18
-#define USB_LEAF_SPRO_SWC_PRODUCT_ID		19
-#define USB_MEMO2_DEVEL_PRODUCT_ID		22
-#define USB_MEMO2_HSHS_PRODUCT_ID		23
-#define USB_UPRO_HSHS_PRODUCT_ID		24
-#define USB_LEAF_LITE_GI_PRODUCT_ID		25
-#define USB_LEAF_PRO_OBDII_PRODUCT_ID		26
-#define USB_MEMO2_HSLS_PRODUCT_ID		27
-#define USB_LEAF_LITE_CH_PRODUCT_ID		28
-#define USB_BLACKBIRD_SPRO_PRODUCT_ID		29
-#define USB_OEM_MERCURY_PRODUCT_ID		34
-#define USB_OEM_LEAF_PRODUCT_ID			35
-#define USB_CAN_R_PRODUCT_ID			39
-#define USB_LEAF_LITE_V2_PRODUCT_ID		288
-#define USB_MINI_PCIE_HS_PRODUCT_ID		289
-#define USB_LEAF_LIGHT_HS_V2_OEM_PRODUCT_ID	290
-#define USB_USBCAN_LIGHT_2HS_PRODUCT_ID		291
-#define USB_MINI_PCIE_2HS_PRODUCT_ID		292
-#define USB_USBCAN_R_V2_PRODUCT_ID		294
-#define USB_LEAF_LIGHT_R_V2_PRODUCT_ID		295
-#define USB_LEAF_LIGHT_HS_V2_OEM2_PRODUCT_ID	296
+#define USB_LEAF_DEVEL_PRODUCT_ID		0x000A
+#define USB_LEAF_LITE_PRODUCT_ID		0x000B
+#define USB_LEAF_PRO_PRODUCT_ID			0x000C
+#define USB_LEAF_SPRO_PRODUCT_ID		0x000E
+#define USB_LEAF_PRO_LS_PRODUCT_ID		0x000F
+#define USB_LEAF_PRO_SWC_PRODUCT_ID		0x0010
+#define USB_LEAF_PRO_LIN_PRODUCT_ID		0x0011
+#define USB_LEAF_SPRO_LS_PRODUCT_ID		0x0012
+#define USB_LEAF_SPRO_SWC_PRODUCT_ID		0x0013
+#define USB_MEMO2_DEVEL_PRODUCT_ID		0x0016
+#define USB_MEMO2_HSHS_PRODUCT_ID		0x0017
+#define USB_UPRO_HSHS_PRODUCT_ID		0x0018
+#define USB_LEAF_LITE_GI_PRODUCT_ID		0x0019
+#define USB_LEAF_PRO_OBDII_PRODUCT_ID		0x001A
+#define USB_MEMO2_HSLS_PRODUCT_ID		0x001B
+#define USB_LEAF_LITE_CH_PRODUCT_ID		0x001C
+#define USB_BLACKBIRD_SPRO_PRODUCT_ID		0x001D
+#define USB_OEM_MERCURY_PRODUCT_ID		0x0022

drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c line 64

Quoted 10 lines
drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c +10 -0
+#define USB_OEM_LEAF_PRODUCT_ID			0x0023
+#define USB_CAN_R_PRODUCT_ID			0x0027
+#define USB_LEAF_LITE_V2_PRODUCT_ID		0x0120
+#define USB_MINI_PCIE_HS_PRODUCT_ID		0x0121
+#define USB_LEAF_LIGHT_HS_V2_OEM_PRODUCT_ID	0x0122
+#define USB_USBCAN_LIGHT_2HS_PRODUCT_ID		0x0123
+#define USB_MINI_PCIE_2HS_PRODUCT_ID		0x0124
+#define USB_USBCAN_R_V2_PRODUCT_ID		0x0126
+#define USB_LEAF_LIGHT_R_V2_PRODUCT_ID		0x0127
+#define USB_LEAF_LIGHT_HS_V2_OEM2_PRODUCT_ID	0x0128

Decimal match hex.

drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c line 70

Quoted 9 lines
drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c +4 -4
  /* Kvaser USBCan-II devices product ids */
-#define USB_USBCAN_REVB_PRODUCT_ID		2
-#define USB_VCI2_PRODUCT_ID			3
-#define USB_USBCAN2_PRODUCT_ID			4
-#define USB_MEMORATOR_PRODUCT_ID		5
+#define USB_USBCAN_REVB_PRODUCT_ID		0x0002
+#define USB_VCI2_PRODUCT_ID			0x0003
+#define USB_USBCAN2_PRODUCT_ID			0x0004
+#define USB_MEMORATOR_PRODUCT_ID		0x0005

Decimal match hex.

Quoted 31 lines
drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c +12 -18
  /* Kvaser Minihydra USB devices product ids */
-#define USB_BLACKBIRD_V2_PRODUCT_ID		258
-#define USB_MEMO_PRO_5HS_PRODUCT_ID		260
-#define USB_USBCAN_PRO_5HS_PRODUCT_ID		261
-#define USB_USBCAN_LIGHT_4HS_PRODUCT_ID		262
-#define USB_LEAF_PRO_HS_V2_PRODUCT_ID		263
-#define USB_USBCAN_PRO_2HS_V2_PRODUCT_ID	264
-#define USB_MEMO_2HS_PRODUCT_ID			265
-#define USB_MEMO_PRO_2HS_V2_PRODUCT_ID		266
-#define USB_HYBRID_2CANLIN_PRODUCT_ID		267
-#define USB_ATI_USBCAN_PRO_2HS_V2_PRODUCT_ID	268
-#define USB_ATI_MEMO_PRO_2HS_V2_PRODUCT_ID	269
-#define USB_HYBRID_PRO_2CANLIN_PRODUCT_ID	270
-#define USB_U100_PRODUCT_ID			273
-#define USB_U100P_PRODUCT_ID			274
-#define USB_U100S_PRODUCT_ID			275
-#define USB_USBCAN_PRO_4HS_PRODUCT_ID		276
-#define USB_HYBRID_CANLIN_PRODUCT_ID		277
-#define USB_HYBRID_PRO_CANLIN_PRODUCT_ID	278
+#define USB_BLACKBIRD_V2_PRODUCT_ID		0x0102
+#define USB_MEMO_PRO_5HS_PRODUCT_ID		0x0104
+#define USB_USBCAN_PRO_5HS_PRODUCT_ID		0x0105
+#define USB_USBCAN_LIGHT_4HS_PRODUCT_ID		0x0106
+#define USB_LEAF_PRO_HS_V2_PRODUCT_ID		0x0107
+#define USB_USBCAN_PRO_2HS_V2_PRODUCT_ID	0x0108
+#define USB_MEMO_2HS_PRODUCT_ID			0x0109
+#define USB_MEMO_PRO_2HS_V2_PRODUCT_ID		0x010A
+#define USB_HYBRID_2CANLIN_PRODUCT_ID		0x010B
+#define USB_ATI_USBCAN_PRO_2HS_V2_PRODUCT_ID	0x010C
+#define USB_ATI_MEMO_PRO_2HS_V2_PRODUCT_ID	0x010D
+#define USB_HYBRID_PRO_2CANLIN_PRODUCT_ID	0x010E
Quoted 8 lines

drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c line 90

Quoted 6 lines
drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c +6 -0
+#define USB_U100_PRODUCT_ID			0x0111
+#define USB_U100P_PRODUCT_ID			0x0112
+#define USB_U100S_PRODUCT_ID			0x0113
+#define USB_USBCAN_PRO_4HS_PRODUCT_ID		0x0114
+#define USB_HYBRID_CANLIN_PRODUCT_ID		0x0115
+#define USB_HYBRID_PRO_CANLIN_PRODUCT_ID	0x0116

Decimal match hex. So for the actual values:

:-D

So how did you test that?

In fact I cut out the values and imported them into LibreOffice Calc to use DEC2HEX() ...

Seems to do the job ;-)

Quoted 3 lines

Thanks,
Oliver

Quoted 11 lines

Greets
Alex

Quoted 8 lines
drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c +0 -0
  static const struct kvaser_usb_driver_info kvaser_usb_driver_info_hydra = {
  	.quirks = KVASER_USB_QUIRK_HAS_HARDWARE_TIMESTAMP,
  	.ops = &kvaser_usb_hydra_dev_ops,
  };
Signature · 1 line
2.30.2