]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
can: dev: add struct data_bittiming_params to group FD parameters
authorVincent Mailhol <mailhol.vincent@wanadoo.fr>
Thu, 1 May 2025 17:12:10 +0000 (02:12 +0900)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Wed, 21 May 2025 12:33:28 +0000 (14:33 +0200)
commitb803c4a4f78834b31ebfbbcea350473333760559
treefe6f57d8c6cfdebecca9a2b9f2d4223c5c313273
parent851013e9c7558f3d0cabe54ad3a45c5ae284e674
can: dev: add struct data_bittiming_params to group FD parameters

This is a preparation patch for the introduction of CAN XL.

CAN FD and CAN XL uses similar bittiming parameters. Add one level of
nesting for all the CAN FD parameters. Typically:

  priv->can.data_bittiming;

becomes:

  priv->can.fd.data_bittiming;

This way, the CAN XL equivalent (to be introduced later) would be:

  priv->can.xl.data_bittiming;

Add the new struct data_bittiming_params which contains all the data
bittiming parameters, including the TDC and the callback functions.

This done, update all the CAN FD drivers to make use of the new
layout.

Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Link: https://patch.msgid.link/20250501171213.2161572-2-mailhol.vincent@wanadoo.fr
[mkl: fix rcar_canfd]
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
21 files changed:
drivers/net/can/ctucanfd/ctucanfd_base.c
drivers/net/can/dev/dev.c
drivers/net/can/dev/netlink.c
drivers/net/can/flexcan/flexcan-core.c
drivers/net/can/ifi_canfd/ifi_canfd.c
drivers/net/can/kvaser_pciefd.c
drivers/net/can/m_can/m_can.c
drivers/net/can/peak_canfd/peak_canfd.c
drivers/net/can/rcar/rcar_canfd.c
drivers/net/can/rockchip/rockchip_canfd-core.c
drivers/net/can/rockchip/rockchip_canfd-timestamp.c
drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c
drivers/net/can/usb/esd_usb.c
drivers/net/can/usb/etas_es58x/es58x_core.c
drivers/net/can/usb/etas_es58x/es58x_fd.c
drivers/net/can/usb/gs_usb.c
drivers/net/can/usb/kvaser_usb/kvaser_usb.h
drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c
drivers/net/can/usb/peak_usb/pcan_usb_core.c
drivers/net/can/xilinx_can.c
include/linux/can/dev.h