This patch series add hardware timestamp support to all devices supported by the kvaser_usb driver. The first patches resolves a known issue; "Hardware timestamps are not set for CAN Tx frames". I can't remember why this wasn't implemented in the first version of the hydra driver. Followed by, hardware timestamp support for leaf and usbcan based devices. The final patches are removing code used for selecting the correct ethtool and netdev ops. Note: This patch series depends on patch "can: kvaser_usb: Explicitly initialize family in leafimx..." [1]. [1] https://lore.kernel.org/linux-can/20240628194529.312968-1-extja@xxxxxxxxxx Jimmy Assarsson (15): can: kvaser_usb: hydra: kvaser_usb_hydra_ktime_from_rx_cmd: Drop {rx_} in function name can: kvaser_usb: hydra: Add struct for Tx ACK commands can: kvaser_usb: hydra: Set hardware timestamp on transmitted packets can: kvaser_usb: Add function kvaser_usb_ticks_to_ktime() can: kvaser_usb: leaf: Add struct for Tx ACK commands can: kvaser_usb: leaf: Assign correct timestamp_freq for kvaser_usb_leaf_imx_dev_cfg_{16,24,32}mhz can: kvaser_usb: leaf: Replace kvaser_usb_leaf_m32c_dev_cfg with kvaser_usb_leaf_m32c_dev_cfg_{16,24,32}mhz can: kvaser_usb: leaf: kvaser_usb_leaf_tx_acknowledge: Rename local variable can: kvaser_usb: leaf: Add hardware timestamp support to leaf based devices can: kvaser_usb: leaf: Add structs for Tx ACK and clock overflow commands can: kvaser_usb: leaf: Store MSB of timestamp can: kvaser_usb: leaf: Add hardware timestamp support to usbcan devices can: kvaser_usb: Remove KVASER_USB_QUIRK_HAS_HARDWARE_TIMESTAMP can: kvaser_usb: Remove struct variables kvaser_usb_{ethtool,netdev}_ops can: kvaser_usb: Rename kvaser_usb_{ethtool,netdev}_ops_hwts to kvaser_usb_{ethtool,netdev}_ops drivers/net/can/usb/kvaser_usb/kvaser_usb.h | 10 +- .../net/can/usb/kvaser_usb/kvaser_usb_core.c | 21 +--- .../net/can/usb/kvaser_usb/kvaser_usb_hydra.c | 39 ++++-- .../net/can/usb/kvaser_usb/kvaser_usb_leaf.c | 113 +++++++++++++++--- 4 files changed, 137 insertions(+), 46 deletions(-) -- 2.45.2