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:
parent
6f910ae41e
commit
4e41d89c7b
6 changed files with 36 additions and 6 deletions
|
@ -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 */
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue