• Vincent Mailhol's avatar
    can: netlink: add can_priv::do_get_auto_tdcv() to retrieve tdcv from device · e8060f08
    Vincent Mailhol authored
    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: default avatarVincent Mailhol <mailhol.vincent@wanadoo.fr>
    Signed-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
    e8060f08
netlink.c 17.1 KB