linux/drivers/net/can
Vincent Mailhol e8060f08cd can: netlink: add can_priv::do_get_auto_tdcv() to retrieve tdcv from device
Some CAN device can measure the TDCV (Transmission Delay Compensation
Value) automatically for each transmitted CAN frames.

A callback function do_get_auto_tdcv() is added to retrieve that
value. This function is used only if CAN_CTRLMODE_TDC_AUTO is enabled
(if CAN_CTRLMODE_TDC_MANUAL is selected, the TDCV value is provided by
the user).

If the device does not support reporting of TDCV, do_get_auto_tdcv()
should be set to NULL and TDCV will not be reported by the netlink
interface.

On success, do_get_auto_tdcv() shall return 0. If the value can not be
measured by the device, for example because network is down or because
no frames were transmitted yet, can_priv::do_get_auto_tdcv() shall
return a negative error code (e.g. -EINVAL) to signify that the value
is not yet available. In such cases, TDCV is not reported by the
netlink interface.

Link: https://lore.kernel.org/all/20210918095637.20108-6-mailhol.vincent@wanadoo.fr
CC: Stefan Mätje <stefan.maetje@esd.eu>
Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2021-10-24 16:24:29 +02:00
..
c_can can: c_can: fix null-ptr-deref on ioctl() 2021-09-07 08:46:58 +02:00
cc770 can: dev: can_get_echo_skb(): extend to return can frame length 2021-01-14 08:43:43 +01:00
dev can: netlink: add can_priv::do_get_auto_tdcv() to retrieve tdcv from device 2021-10-24 16:24:29 +02:00
ifi_canfd can: dev: can_get_echo_skb(): extend to return can frame length 2021-01-14 08:43:43 +01:00
m_can can: m_can: fix iomap_read_fifo() and iomap_write_fifo() 2021-10-17 22:51:43 +02:00
mscan can: mscan: mpc5xxx_can: mpc5xxx_can_probe(): remove useless BUG_ON() 2021-08-25 08:25:11 +02:00
peak_canfd can: peak_pciefd: pucan_handle_status(): fix a potential starvation issue in TX path 2021-06-24 08:40:10 +02:00
rcar can: rcar_can: fix suspend/resume 2021-10-17 22:51:43 +02:00
sja1000 can: peak_pci: peak_pci_remove(): fix UAF 2021-10-17 22:51:50 +02:00
softing can: softing: Remove redundant variable ptr 2021-05-27 09:42:22 +02:00
spi can: mcp251xfd: mark some instances of struct mcp251xfd_priv as const 2021-08-19 15:07:03 +02:00
usb can: bittiming: allow TDC{V,O} to be zero and add can_tdc_const::tdc{v,o,f}_min 2021-10-24 16:24:28 +02:00
at91_can.c net: at91_can: fix the comments style issue 2021-07-25 11:36:27 +02:00
flexcan.c can: flexcan: flexcan_clks_enable(): add missing variable initialization 2021-08-04 12:11:56 +02:00
grcan.c can: dev: can_free_echo_skb(): extend to return can frame length 2021-03-30 11:14:28 +02:00
janz-ican3.c can: janz-ican3: use DEVICE_ATTR_RO/RW() helper macro 2021-07-25 11:36:26 +02:00
Kconfig can: flexcan: update Kconfig to enable coldfire 2021-07-25 11:36:29 +02:00
kvaser_pciefd.c can: kvaser_pciefd: Always disable bus load reporting 2021-03-16 08:41:26 +01:00
led.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
Makefile can: dev: move driver related infrastructure into separate subdir 2021-01-13 09:42:58 +01:00
pch_can.c can: dev: can_get_echo_skb(): extend to return can frame length 2021-01-14 08:43:43 +01:00
slcan.c tty: no checking of tty_unregister_ldisc 2021-05-13 16:57:17 +02:00
sun4i_can.c can: dev: can_get_echo_skb(): extend to return can frame length 2021-01-14 08:43:43 +01:00
ti_hecc.c can: rx-offload: add skb queue for use during ISR 2021-07-25 11:36:25 +02:00
vcan.c net: introduce CAN specific pointer in the struct net_device 2021-02-24 14:32:15 -08:00
vxcan.c net: introduce CAN specific pointer in the struct net_device 2021-02-24 14:32:15 -08:00
xilinx_can.c can: xilinx_can: Simplify code by using dev_err_probe() 2021-03-30 11:14:46 +02:00