drivers: can: Fix building with socket_can_generic.h

socket_can_generic.h makes some assumptions that are not always valid
for various drivers with regards to numbering.  To clean this up we
add defines for SOCKET_CAN_NAME_0 and SOCKET_CAN_NAME_2 in addition to
SOCKET_CAN_NAME_1.

We also move struct socket_can_context into the drivers themselves
since they know best how many CAN interfaces are getting supported and
what naming/number convention they'd have.

Additionally, this also exposes a few other build issues with the
can_mcux_flexcan driver that get fixed.

Finally, we remove the platform_allow from samples/net/sockets/can
since it is no longer needed.

Fixes #31733

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
This commit is contained in:
Kumar Gala 2021-02-02 12:58:15 -06:00 committed by Anas Nashif
commit 6defabebad
6 changed files with 13 additions and 5 deletions

View file

@ -1190,6 +1190,8 @@ static void config_can_1_irq(CAN_TypeDef *can)
#include "socket_can_generic.h"
static struct socket_can_context socket_can_context_1;
static int socket_can_init_1(const struct device *dev)
{
const struct device *can_dev = DEVICE_DT_GET(DT_NODELABEL(can1));
@ -1280,6 +1282,8 @@ static void config_can_2_irq(CAN_TypeDef *can)
#include "socket_can_generic.h"
static struct socket_can_context socket_can_context_2;
static int socket_can_init_2(const struct device *dev)
{
const struct device *can_dev = DEVICE_DT_GET(DT_NODELABEL(can2));