Lines Matching refs:dev_data
127 struct max32_can_data *dev_data = dev->data; in can_max32_set_mode() local
132 if (dev_data->common.started) { in can_max32_set_mode()
141 dev_data->common.mode = mode; in can_max32_set_mode()
176 struct max32_can_data *dev_data = dev->data; in can_max32_set_timing() local
185 if (dev_data->common.started) { in can_max32_set_timing()
189 k_mutex_lock(&dev_data->inst_mutex, K_FOREVER); in can_max32_set_timing()
202 k_mutex_unlock(&dev_data->inst_mutex); in can_max32_set_timing()
210 struct max32_can_data *dev_data = dev->data; in can_max32_start() local
214 k_mutex_lock(&dev_data->inst_mutex, K_FOREVER); in can_max32_start()
216 if (dev_data->common.started) { in can_max32_start()
221 mode = dev_data->common.mode; in can_max32_start()
243 dev_data->common.started = true; in can_max32_start()
246 k_mutex_unlock(&dev_data->inst_mutex); in can_max32_start()
254 struct max32_can_data *dev_data = dev->data; in can_max32_stop() local
257 k_mutex_lock(&dev_data->inst_mutex, K_FOREVER); in can_max32_stop()
259 if (!dev_data->common.started) { in can_max32_stop()
278 dev_data->state = CAN_STATE_STOPPED; in can_max32_stop()
279 dev_data->common.started = false; in can_max32_stop()
282 k_mutex_unlock(&dev_data->inst_mutex); in can_max32_stop()
290 struct max32_can_data *dev_data = dev->data; in can_max32_send() local
303 if (!dev_data->common.started) { in can_max32_send()
307 if (dev_data->state == CAN_STATE_BUS_OFF) { in can_max32_send()
315 if (k_sem_take(&dev_data->tx_sem, timeout) != 0) { in can_max32_send()
319 k_mutex_lock(&dev_data->inst_mutex, K_FOREVER); in can_max32_send()
322 dev_data->tx_callback.function = callback; in can_max32_send()
323 dev_data->tx_callback.user_data = user_data; in can_max32_send()
326 can_max32_convert_canframe_to_req(msg, &dev_data->tx_data.req); in can_max32_send()
328 ret = MXC_CAN_MessageSendAsync(0, &dev_data->tx_data.req); in can_max32_send()
331 k_sem_give(&dev_data->tx_sem); in can_max32_send()
334 k_mutex_unlock(&dev_data->inst_mutex); in can_max32_send()
342 struct max32_can_data *dev_data = dev->data; in can_max32_add_rx_filter() local
352 k_mutex_lock(&dev_data->inst_mutex, K_FOREVER); in can_max32_add_rx_filter()
355 while ((BIT(filter_idx) & dev_data->filter_usage) && (filter_idx < CONFIG_CAN_MAX_FILTER)) { in can_max32_add_rx_filter()
363 dev_data->filter_usage |= BIT(filter_idx); in can_max32_add_rx_filter()
365 dev_data->rx_callbacks[filter_idx].function = callback; in can_max32_add_rx_filter()
366 dev_data->rx_callbacks[filter_idx].user_data = user_data; in can_max32_add_rx_filter()
367 dev_data->rx_callbacks[filter_idx].filter = *filter; in can_max32_add_rx_filter()
377 k_mutex_unlock(&dev_data->inst_mutex); in can_max32_add_rx_filter()
384 struct max32_can_data *dev_data = dev->data; in can_max32_remove_rx_filter() local
392 k_mutex_lock(&dev_data->inst_mutex, K_FOREVER); in can_max32_remove_rx_filter()
394 if ((dev_data->filter_usage & BIT(filter_idx)) == 0) { in can_max32_remove_rx_filter()
395 k_mutex_unlock(&dev_data->inst_mutex); in can_max32_remove_rx_filter()
402 dev_data->filter_usage &= ~BIT(filter_idx); in can_max32_remove_rx_filter()
403 dev_data->rx_callbacks[filter_idx].function = NULL; in can_max32_remove_rx_filter()
404 dev_data->rx_callbacks[filter_idx].user_data = NULL; in can_max32_remove_rx_filter()
405 dev_data->rx_callbacks[filter_idx].filter = (struct can_filter){0}; in can_max32_remove_rx_filter()
409 k_mutex_unlock(&dev_data->inst_mutex); in can_max32_remove_rx_filter()
414 struct max32_can_data *dev_data = dev->data; in can_max32_state_change_handler() local
419 state_change_cb = dev_data->common.state_change_cb; in can_max32_state_change_handler()
425 dev_data->common.state_change_cb_user_data); in can_max32_state_change_handler()
434 struct max32_can_data *dev_data = dev->data; in can_max32_get_state() local
443 *state = dev_data->state; in can_max32_get_state()
452 struct max32_can_data *dev_data = dev->data; in can_max32_set_state_change_callback() local
457 dev_data->common.state_change_cb = cb; in can_max32_set_state_change_callback()
458 dev_data->common.state_change_cb_user_data = user_data; in can_max32_set_state_change_callback()
474 const struct max32_can_data *dev_data = dev->data; in can_max32_recover() local
478 if (!dev_data->common.started) { in can_max32_recover()
502 struct max32_can_data *dev_data = dev->data; in can_max32_rx_soft_filter() local
514 if (!(BIT(filter_id) & dev_data->filter_usage)) { in can_max32_rx_soft_filter()
518 struct max32_can_rx_callback *rx_cb = &dev_data->rx_callbacks[filter_id]; in can_max32_rx_soft_filter()
534 struct max32_can_data *dev_data = dev->data; in can_max32_rx_handler() local
537 can_max32_convert_req_to_canframe(&dev_data->rx_data.req, &msg); in can_max32_rx_handler()
543 struct max32_can_data *dev_data = dev->data; in can_max32_tx_handler() local
544 can_tx_callback_t callback = dev_data->tx_callback.function; in can_max32_tx_handler()
547 callback(dev, status, dev_data->tx_callback.user_data); in can_max32_tx_handler()
548 dev_data->tx_callback.function = NULL; in can_max32_tx_handler()
549 dev_data->tx_callback.user_data = NULL; in can_max32_tx_handler()
552 k_sem_give(&dev_data->tx_sem); /* to allow next tx request */ in can_max32_tx_handler()
578 struct max32_can_data *dev_data = dev->data; in unit_event_callback() local
579 enum can_state old_state = dev_data->state; in unit_event_callback()
583 dev_data->state = CAN_STATE_STOPPED; in unit_event_callback()
586 dev_data->state = CAN_STATE_ERROR_ACTIVE; in unit_event_callback()
589 dev_data->state = CAN_STATE_ERROR_WARNING; in unit_event_callback()
592 dev_data->state = CAN_STATE_ERROR_PASSIVE; in unit_event_callback()
595 dev_data->state = CAN_STATE_BUS_OFF; in unit_event_callback()
606 struct max32_can_data *dev_data = dev->data; in can_max32_init() local
610 k_mutex_init(&dev_data->inst_mutex); in can_max32_init()
611 k_sem_init(&dev_data->tx_sem, 1, 1); in can_max32_init()
637 dev_data->state = CAN_STATE_STOPPED; in can_max32_init()
671 can_max32_init_req(&dev_data->tx_data); in can_max32_init()
672 can_max32_init_req(&dev_data->rx_data); in can_max32_init()
680 ret = MXC_CAN_MessageReadAsync(dev_cfg->can_id, &dev_data->rx_data.req); in can_max32_init()