Hi David, On 13.09.24 16:03, Dr. David Alan Gilbert wrote:
I'm doing some deadcode hunting and noticed that alloc_canxl_skb in drivers/net/can/dev/skb.c looks unused in the main kernel tree; is that expected? I see it was added back in 2022 by fb08cba12b52 ("can: canxl: update CAN infrastructure for CAN XL frames") I know almost exactly nothing about CAN, so I thought it best to ask!
I created some slides so that you can get an introduction to the different CAN protocols CAN CC (aka Classical CAN), CAN FD and CAN XL:
https://github.com/linux-can/can-doc/tree/master/presentationsThe introduction of the CAN XL support lead to some clean up and rework also for the former alloc_can_skb() and alloc_canfd_skb() helpers.
The function is currently not in use in net/can/raw.c as it is only needed when a CAN XL frame is received from read hardware. But the patch also contains the definition of ETH_P_CANXL to already handle CAN XL frames properly inside the Linux kernel and e.g. for WireShark 4.4.
There are currently some CAN XL IP cores in development (see attached picture with an FPGA based IP core) and I am working on the kernel infrastructure (e.g. bitrate configuration enhancements) on this board. So alloc_canxl_skb() is already in use on my desk and there will be some more stuff showing up soon ;-)
Best regards, Oliver
Attachment:
DE1_SoC_FPGA_working_setup.jpg
Description: JPEG image