mirror_ubuntu-kernels/drivers/net/can/usb/kvaser_usb
Vincent Mailhol 1d5eeda23f can: kvaser_usb: advertise timestamping capabilities and add ioctl support
Currently, userland has no method to query which timestamping features
are supported by the kvaser_usb driver (aside maybe of getting RX
messages and observe whether or not hardware timestamps stay at zero).

The canonical way for a network driver to advertise what kind of
timestamping it supports is to implement
ethtool_ops::get_ts_info(). Here, we use the CAN specific
can_ethtool_op_get_ts_info_hwts() function to achieve this.

In addition, the driver currently does not support the hardware
timestamps ioctls. According to [1], SIOCSHWTSTAMP is "must" and
SIOCGHWTSTAMP is "should". This patch fills up that gap by
implementing net_device_ops::ndo_eth_ioctl() using the CAN specific
function can_eth_ioctl_hwts().

[1] kernel doc Timestamping, section 3.1: "Hardware Timestamping
Implementation: Device Drivers"
Link: https://docs.kernel.org/networking/timestamping.html#hardware-timestamping-implementation-device-drivers

CC: Jimmy Assarsson <extja@kvaser.com>
Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Link: https://lore.kernel.org/all/20220727101641.198847-13-mailhol.vincent@wanadoo.fr
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-07-28 11:44:31 +02:00
..
kvaser_usb_core.c can: kvaser_usb: advertise timestamping capabilities and add ioctl support 2022-07-28 11:44:31 +02:00
kvaser_usb_hydra.c can: add CAN_ERR_CNT flag to notify availability of error counter 2022-07-20 09:27:37 +02:00
kvaser_usb_leaf.c can: add CAN_ERR_CNT flag to notify availability of error counter 2022-07-20 09:27:37 +02:00
kvaser_usb.h can: kvaser_usb: advertise timestamping capabilities and add ioctl support 2022-07-28 11:44:31 +02:00
Makefile can: kvaser_usb: silence a GCC 12 -Warray-bounds warning 2022-05-23 22:00:05 +02:00