The patch series serve one purpose: allow the user to check both the supported and the static capabilities. Currently, the CAN netlink interface provides no easy ways to check the capabilities of a given controller. The only method from the command line is to try each CAN_CTRLMODE_ individually to check whether the netlink interface returns an -EOPNOTSUPP error or not (alternatively, one may find it easier to directly check the source code of the driver instead...) Here, we introduce a way to directly report the supported features as well as the statically enabled features. The first patch of the series only does some clean up. The second patch is the real thing. The last patch contains the needed modification to the uapi headers and is only there for convenience. * Changelog * v1 -> v2 - The kernel uapi was modified to use a new NLA_NESTED entry instead of reusing struct can_ctrlmode. The second and third patch of the series were updated accordingly. Vincent Mailhol (3): iplink_can: code refactoring of print_ctrlmode() iplink_can: add ctrlmode_{supported,_static} to the "--details --json" output can: netlink: add new field to struct can_ctrlmode to report capabilities include/uapi/linux/can/netlink.h | 11 +++++ ip/iplink_can.c | 69 ++++++++++++++++++++++---------- 2 files changed, 58 insertions(+), 22 deletions(-) -- 2.32.0