[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20211213160226.56219-1-mailhol.vincent@wanadoo.fr>
Date: Tue, 14 Dec 2021 01:02:22 +0900
From: Vincent Mailhol <mailhol.vincent@...adoo.fr>
To: Marc Kleine-Budde <mkl@...gutronix.de>, linux-can@...r.kernel.org
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
Vincent Mailhol <mailhol.vincent@...adoo.fr>
Subject: [PATCH v6 0/4] report the controller capabilities through the netlink interface
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 three
extra patches to the series: one to replace that field with a
function, one to add a safeguard on can_set_static_ctrlmode() and one
to repack struct can_priv and fill the hole created after removing
can_priv::ctrlmode_priv.
Please note that the first three patches are not required by the
fourth one. I am just grouping everything in the same series because
the patches all revolve around the controller modes.
** Changelog **
v5 -> v6:
- Add back patches 1, 2 and 3 because those were removed from the
testing branch of linux-can-next since.
- Rebase the series on the latest version of net-next.
- Fix a typo in the comments of the forth patch: guaruanty ->
guaranty.
v4 -> v5:
- Implement IFLA_CAN_CTRLMODE_EXT in order to fix forward
compatibility issues as suggested by Marc in:
https://lore.kernel.org/linux-can/20211029124608.u7zbprvojifjpa7j@pengutronix.de/T/#m78118c94072083a6f8d2f0f769b120f847ac1384
v3 -> v4:
- Tag the union in struct can_ctrlmode as packed.
- Remove patch 1, 2 and 3 from the series because those were already
added to the testing branch of linux-can-next (and no changes
occurred on those first three patches).
v2 -> v3:
- Make can_set_static_ctrlmode() return an error and adjust the
drivers which use this helper function accordingly.
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 (4):
can: dev: replace can_priv::ctrlmode_static by
can_get_static_ctrlmode()
can: dev: add sanity check in can_set_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 | 33 +++++++++++++++++++++++++++++--
drivers/net/can/m_can/m_can.c | 10 +++++++---
drivers/net/can/rcar/rcar_canfd.c | 4 +++-
include/linux/can/dev.h | 24 +++++++++++++++-------
include/uapi/linux/can/netlink.h | 13 ++++++++++++
6 files changed, 74 insertions(+), 15 deletions(-)
base-commit: 64445dda9d8384975eca54e3f01886fca61e1db6
prerequisite-patch-id: 84ffb60366d113cfbf6fb8e415217d9e09fadefd
--
2.32.0
Powered by blists - more mailing lists