summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorOliver Hartkopp <socketcan@hartkopp.net>2012-06-13 20:04:33 +0200
committerMarc Kleine-Budde <mkl@pengutronix.de>2012-06-19 21:39:50 +0200
commit7c9416365c60f150ef8961a2855fafbc7394ad6b (patch)
tree56af7e0eb5ad94c6da14ff7dde79935eb58628a5 /net
parentc_can_pci: generic module for C_CAN/D_CAN on PCI (diff)
downloadlinux-7c9416365c60f150ef8961a2855fafbc7394ad6b.tar.xz
linux-7c9416365c60f150ef8961a2855fafbc7394ad6b.zip
canfd: add new data structures and constants
- add new struct canfd_frame - check identical element offsets in struct can_frame and struct canfd_frame - new ETH_P_CANFD definition to tag CAN FD skbs correctly - add CAN_MTU and CANFD_MTU definitions for easy frame and mode detection - add CAN[FD]_MAX_[DLC|DLEN] helper constants to remove hard coded values - update existing struct can_frame with helper constants and comments Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'net')
-rw-r--r--net/can/af_can.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/net/can/af_can.c b/net/can/af_can.c
index 6efcd37b4bd0..c96140a1458e 100644
--- a/net/can/af_can.c
+++ b/net/can/af_can.c
@@ -41,6 +41,7 @@
*/
#include <linux/module.h>
+#include <linux/stddef.h>
#include <linux/init.h>
#include <linux/kmod.h>
#include <linux/slab.h>
@@ -824,6 +825,12 @@ static struct notifier_block can_netdev_notifier __read_mostly = {
static __init int can_init(void)
{
+ /* check for correct padding to be able to use the structs similarly */
+ BUILD_BUG_ON(offsetof(struct can_frame, can_dlc) !=
+ offsetof(struct canfd_frame, len) ||
+ offsetof(struct can_frame, data) !=
+ offsetof(struct canfd_frame, data));
+
printk(banner);
memset(&can_rx_alldev_list, 0, sizeof(can_rx_alldev_list));