linux-xiaomi-chiron/net/can
Marc Kleine-Budde ffd956eef6 can: introduce CAN midlayer private and allocate it automatically
This patch introduces the CAN midlayer private structure ("struct
can_ml_priv") which should be used to hold protocol specific per device
data structures. For now it's only member is "struct can_dev_rcv_lists".

The CAN midlayer private is allocated via alloc_netdev()'s private and
assigned to "struct net_device::ml_priv" during device creation. This is
done transparently for CAN drivers using alloc_candev(). The slcan, vcan
and vxcan drivers which are not using alloc_candev() have been adopted
manually. The memory layout of the netdev_priv allocated via
alloc_candev() will looke like this:

  +-------------------------+
  | driver's priv           |
  +-------------------------+
  | struct can_ml_priv      |
  +-------------------------+
  | array of struct sk_buff |
  +-------------------------+

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2019-09-04 13:29:14 +02:00
..
af_can.c can: introduce CAN midlayer private and allocate it automatically 2019-09-04 13:29:14 +02:00
af_can.h can: introduce CAN midlayer private and allocate it automatically 2019-09-04 13:29:14 +02:00
bcm.c can: bcm: switch timer to HRTIMER_MODE_SOFT and remove hrtimer_tasklet 2019-08-13 17:32:20 +02:00
gw.c can: gw: add support for CAN FD frames 2019-08-13 17:32:21 +02:00
Kconfig can: Kconfig: correct history of the CAN protocol 2019-07-24 10:31:55 +02:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
proc.c can: introduce CAN midlayer private and allocate it automatically 2019-09-04 13:29:14 +02:00
raw.c can: raw: raw_sock_no_ioctlcmd(): mark function as static 2019-08-13 17:32:20 +02:00