mbox series

[v2,0/3] report the controller capabilities through the netlink interface

Message ID 20211009131304.19729-1-mailhol.vincent@wanadoo.fr (mailing list archive)
Headers show
Series report the controller capabilities through the netlink interface | expand

Message

Vincent Mailhol Oct. 9, 2021, 1:13 p.m. UTC
The main purpose of this series is to report the CAN controller
capabilities. The proposed method reuses the existing struct
can_ctrlmode and thus do not need a new IFLA_CAN_* entry.

While doing so, I also realized that can_priv::ctrlmode_static could
actually be derived from the other ctrlmode fields. So I added two
extra patches to the series: one to replace that field with a function
and one to repack struct can_priv and fill the hole created after
removing can_priv::ctrlmode_priv.

Please note that the first two patches are not required by the third
one. I am just grouping everything in the same series because the
patches all revolve around the controller modes.


** Changelog **

v1 -> v2:

  - Add a first patch to replace can_priv::ctrlmode_static by the
    inline function can_get_static_ctrlmode()

  - Add a second patch to reorder the fields of struct can_priv for
    better packing (save eight bytes on x86_64 \o/)

  - Rewrite the comments of the third patch "can: netlink: report the
    CAN controller mode supported flags" (no changes on the code
    itself).


Vincent Mailhol (3):
  can: dev: replace can_priv::ctrlmode_static by
    can_get_static_ctrlmode()
  can: dev: reorder struct can_priv members for better packing
  can: netlink: report the CAN controller mode supported flags

 drivers/net/can/dev/dev.c        |  5 +++--
 drivers/net/can/dev/netlink.c    |  7 +++++--
 include/linux/can/dev.h          | 18 +++++++++++++-----
 include/uapi/linux/can/netlink.h |  5 ++++-
 4 files changed, 25 insertions(+), 10 deletions(-)