linux/drivers/net/can
Vincent Mailhol 7d4a101c0b can: dev: add sanity check in can_set_static_ctrlmode()
Previous patch removed can_priv::ctrlmode_static to replace it with
can_get_static_ctrlmode().

A condition sine qua non for this to work is that the controller
static modes should never be set in can_priv::ctrlmode_supported
(c.f. the comment on can_priv::ctrlmode_supported which states that it
is for "options that can be *modified* by netlink"). Also, this
condition is already correctly fulfilled by all existing drivers
which rely on the ctrlmode_static feature.

Nonetheless, we added an extra safeguard in can_set_static_ctrlmode()
to return an error value and to warn the developer who would be
adventurous enough to set to static a given feature that is already
set to supported.

The drivers which rely on the static controller mode are then updated
to check the return value of can_set_static_ctrlmode().

Link: https://lore.kernel.org/all/20211213160226.56219-3-mailhol.vincent@wanadoo.fr
Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2022-01-05 12:09:05 +01:00
..
c_can can: do not increase tx_bytes statistics for RTR frames 2022-01-05 12:09:05 +01:00
cc770 can: do not increase tx_bytes statistics for RTR frames 2022-01-05 12:09:05 +01:00
dev can: dev: replace can_priv::ctrlmode_static by can_get_static_ctrlmode() 2022-01-05 12:09:05 +01:00
ifi_canfd can: do not increase rx_bytes statistics for RTR frames 2022-01-05 12:09:05 +01:00
m_can can: dev: add sanity check in can_set_static_ctrlmode() 2022-01-05 12:09:05 +01:00
mscan can: do not increase tx_bytes statistics for RTR frames 2022-01-05 12:09:05 +01:00
peak_canfd can: do not increase tx_bytes statistics for RTR frames 2022-01-05 12:09:05 +01:00
rcar can: dev: add sanity check in can_set_static_ctrlmode() 2022-01-05 12:09:05 +01:00
sja1000 can: do not increase tx_bytes statistics for RTR frames 2022-01-05 12:09:05 +01:00
softing can: do not increase tx_bytes statistics for RTR frames 2022-01-05 12:09:05 +01:00
spi can: do not increase tx_bytes statistics for RTR frames 2022-01-05 12:09:05 +01:00
usb can: do not increase tx_bytes statistics for RTR frames 2022-01-05 12:09:05 +01:00
at91_can.c can: do not increase tx_bytes statistics for RTR frames 2022-01-05 12:09:05 +01:00
flexcan.c can: flexcan: Use struct_group() to zero struct flexcan_regs regions 2021-09-25 08:20:48 -07:00
grcan.c can: do not increase tx_bytes statistics for RTR frames 2022-01-05 12:09:05 +01:00
janz-ican3.c can: do not increase tx_bytes statistics for RTR frames 2022-01-05 12:09:05 +01:00
Kconfig can: flexcan: update Kconfig to enable coldfire 2021-07-25 11:36:29 +02:00
kvaser_pciefd.c can: do not increase rx_bytes statistics for RTR frames 2022-01-05 12:09:05 +01:00
led.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
Makefile can: dev: move driver related infrastructure into separate subdir 2021-01-13 09:42:58 +01:00
pch_can.c can: do not increase tx_bytes statistics for RTR frames 2022-01-05 12:09:05 +01:00
slcan.c can: do not increase tx_bytes statistics for RTR frames 2022-01-05 12:09:05 +01:00
sun4i_can.c can: do not increase tx_bytes statistics for RTR frames 2022-01-05 12:09:05 +01:00
ti_hecc.c can: ti_hecc: ti_hecc_probe(): use platform_get_irq() to get the interrupt 2022-01-05 12:08:19 +01:00
vcan.c can: do not increase tx_bytes statistics for RTR frames 2022-01-05 12:09:05 +01:00
vxcan.c can: do not increase tx_bytes statistics for RTR frames 2022-01-05 12:09:05 +01:00
xilinx_can.c can: do not increase rx_bytes statistics for RTR frames 2022-01-05 12:09:05 +01:00