drivers: can: add network interafce for mcp2515
Prevoiusly there is no network interface for mcp2515 driver. This is solved by calling the NET_DEVICE_INIT macro in mcp2515 driver. fixes: #30432 Signed-off-by: NavinSankar Velliangiri <navin@linumiz.com>
This commit is contained in:
parent
e1d42724e5
commit
79119439a7
1 changed files with 33 additions and 0 deletions
|
@ -911,4 +911,37 @@ DEVICE_AND_API_INIT(can_mcp2515_1, DT_INST_LABEL(0), &mcp2515_init,
|
||||||
&mcp2515_data_1, &mcp2515_config_1, POST_KERNEL,
|
&mcp2515_data_1, &mcp2515_config_1, POST_KERNEL,
|
||||||
CONFIG_CAN_MCP2515_INIT_PRIORITY, &can_api_funcs);
|
CONFIG_CAN_MCP2515_INIT_PRIORITY, &can_api_funcs);
|
||||||
|
|
||||||
|
#if defined(CONFIG_NET_SOCKETS_CAN)
|
||||||
|
|
||||||
|
#include "socket_can_generic.h"
|
||||||
|
|
||||||
|
static int socket_can_init(const struct device *dev)
|
||||||
|
{
|
||||||
|
const struct device *can_dev = DEVICE_GET(can_mcp2515_1);
|
||||||
|
struct socket_can_context *socket_context = dev->data;
|
||||||
|
|
||||||
|
LOG_DBG("Init socket CAN device %p (%s) for dev %p (%s)",
|
||||||
|
dev, dev->name, can_dev, can_dev->name);
|
||||||
|
|
||||||
|
socket_context->can_dev = can_dev;
|
||||||
|
socket_context->msgq = &socket_can_msgq;
|
||||||
|
|
||||||
|
socket_context->rx_tid =
|
||||||
|
k_thread_create(&socket_context->rx_thread_data,
|
||||||
|
rx_thread_stack,
|
||||||
|
K_KERNEL_STACK_SIZEOF(rx_thread_stack),
|
||||||
|
rx_thread, socket_context, NULL, NULL,
|
||||||
|
RX_THREAD_PRIORITY, 0, K_NO_WAIT);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
NET_DEVICE_INIT(socket_can_mcp2515_1, SOCKET_CAN_NAME_1, socket_can_init,
|
||||||
|
device_pm_control_nop, &socket_can_context_1, NULL,
|
||||||
|
CONFIG_KERNEL_INIT_PRIORITY_DEVICE,
|
||||||
|
&socket_can_api,
|
||||||
|
CANBUS_RAW_L2, NET_L2_GET_CTX_TYPE(CANBUS_RAW_L2), CAN_MTU);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* DT_NODE_HAS_STATUS(DT_DRV_INST(0), okay) */
|
#endif /* DT_NODE_HAS_STATUS(DT_DRV_INST(0), okay) */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue