drivers: can: mcan: fix bus recovery functions

Fix the signature of the CAN bus recovery functions in the Bosch M_CAN
driver frontends.

Fixes: #44345

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
This commit is contained in:
Henrik Brix Andersen 2022-03-30 11:36:00 +02:00 committed by Carles Cufí
commit 4e41d89c7b
6 changed files with 36 additions and 6 deletions

View file

@ -721,8 +721,10 @@ int can_mcan_get_state(const struct can_mcan_config *cfg, enum can_state *state,
}
#ifndef CONFIG_CAN_AUTO_BUS_OFF_RECOVERY
int can_mcan_recover(struct can_mcan_reg *can, k_timeout_t timeout)
int can_mcan_recover(const struct can_mcan_config *cfg, k_timeout_t timeout)
{
struct can_mcan_reg *can = cfg->can;
return can_leave_init_mode(can, timeout);
}
#endif /* CONFIG_CAN_AUTO_BUS_OFF_RECOVERY */

View file

@ -225,7 +225,7 @@ void can_mcan_line_1_isr(const struct can_mcan_config *cfg,
struct can_mcan_msg_sram *msg_ram,
struct can_mcan_data *data);
int can_mcan_recover(struct can_mcan_reg *can, k_timeout_t timeout);
int can_mcan_recover(const struct can_mcan_config *cfg, k_timeout_t timeout);
int can_mcan_send(const struct can_mcan_config *cfg, struct can_mcan_data *data,
struct can_mcan_msg_sram *msg_ram,

View file

@ -108,6 +108,13 @@ int mcux_mcan_get_max_bitrate(const struct device *dev, uint32_t *max_bitrate)
return 0;
}
static int mcux_mcan_recover(const struct device *dev, k_timeout_t timeout)
{
const struct mcux_mcan_config *config = dev->config;
return can_mcan_recover(&config->mcan, timeout);
}
static void mcux_mcan_line_0_isr(const struct device *dev)
{
const struct mcux_mcan_config *config = dev->config;
@ -154,7 +161,7 @@ static const struct can_driver_api mcux_mcan_driver_api = {
.add_rx_filter = mcux_mcan_add_rx_filter,
.remove_rx_filter = mcux_mcan_remove_rx_filter,
#ifndef CONFIG_CAN_AUTO_BUS_OFF_RECOVERY
.recover = can_mcan_recover,
.recover = mcux_mcan_recover,
#endif /* CONFIG_CAN_AUTO_BUS_OFF_RECOVERY */
.get_state = mcux_mcan_get_state,
.set_state_change_callback = mcux_mcan_set_state_change_callback,

View file

@ -145,6 +145,13 @@ int can_sam_get_max_bitrate(const struct device *dev, uint32_t *max_bitrate)
return 0;
}
static int can_sam_recover(const struct device *dev, k_timeout_t timeout)
{
const struct can_sam_config *cfg = dev->config;
return can_mcan_recover(&cfg->mcan_cfg, timeout);
}
static void can_sam_line_0_isr(const struct device *dev)
{
const struct can_sam_config *cfg = dev->config;
@ -175,7 +182,7 @@ static const struct can_driver_api can_api_funcs = {
.remove_rx_filter = can_sam_remove_rx_filter,
.get_state = can_sam_get_state,
#ifndef CONFIG_CAN_AUTO_BUS_OFF_RECOVERY
.recover = can_mcan_recover,
.recover = can_sam_recover,
#endif
.get_core_clock = can_sam_get_core_clock,
.get_max_filters = can_mcan_get_max_filters,

View file

@ -154,6 +154,13 @@ int can_stm32fd_get_max_bitrate(const struct device *dev, uint32_t *max_bitrate)
return 0;
}
static int can_stm32fd_recover(const struct device *dev, k_timeout_t timeout)
{
const struct can_stm32fd_config *cfg = dev->config;
return can_mcan_recover(&cfg->mcan_cfg, timeout);
}
static void can_stm32fd_line_0_isr(const struct device *dev)
{
const struct can_stm32fd_config *cfg = dev->config;
@ -184,7 +191,7 @@ static const struct can_driver_api can_api_funcs = {
.remove_rx_filter = can_stm32fd_remove_rx_filter,
.get_state = can_stm32fd_get_state,
#ifndef CONFIG_CAN_AUTO_BUS_OFF_RECOVERY
.recover = can_mcan_recover,
.recover = can_stm32fd_recover,
#endif
.get_core_clock = can_stm32fd_get_core_clock,
.get_max_bitrate = can_stm32fd_get_max_bitrate,

View file

@ -176,6 +176,13 @@ int can_stm32h7_get_max_bitrate(const struct device *dev, uint32_t *max_bitrate)
return 0;
}
static int can_stm32h7_recover(const struct device *dev, k_timeout_t timeout)
{
const struct can_stm32h7_config *cfg = dev->config;
return can_mcan_recover(&cfg->mcan_cfg, timeout);
}
static void can_stm32h7_line_0_isr(const struct device *dev)
{
const struct can_stm32h7_config *cfg = dev->config;
@ -200,7 +207,7 @@ static const struct can_driver_api can_api_funcs = {
.remove_rx_filter = can_stm32h7_remove_rx_filter,
.get_state = can_stm32h7_get_state,
#ifndef CONFIG_CAN_AUTO_BUS_OFF_RECOVERY
.recover = can_mcan_recover,
.recover = can_stm32h7_recover,
#endif
.get_core_clock = can_stm32h7_get_core_clock,
.get_max_bitrate = can_stm32h7_get_max_bitrate,