socket_zep: register with netdev

This commit is contained in:
Benjamin Valentin 2020-12-04 13:37:22 +01:00
parent ac9cd80aa7
commit d8918c24fa
6 changed files with 10 additions and 5 deletions

View File

@ -98,8 +98,10 @@ typedef struct {
*
* @param[in] dev the preallocated socket_zep_t device handle to setup
* @param[in] params initialization parameters
* @param[in] index index of @p params in a global parameter struct array.
* If initialized manually, pass a unique identifier instead.
*/
void socket_zep_setup(socket_zep_t *dev, const socket_zep_params_t *params);
void socket_zep_setup(socket_zep_t *dev, const socket_zep_params_t *params, uint8_t index);
/**
* @brief Cleanup socket resources

View File

@ -408,7 +408,7 @@ static void _send_zep_hello(socket_zep_t *dev)
}
}
void socket_zep_setup(socket_zep_t *dev, const socket_zep_params_t *params)
void socket_zep_setup(socket_zep_t *dev, const socket_zep_params_t *params, uint8_t index)
{
int res;
@ -418,6 +418,8 @@ void socket_zep_setup(socket_zep_t *dev, const socket_zep_params_t *params)
memset(dev, 0, sizeof(socket_zep_t));
dev->netdev.netdev.driver = &socket_zep_driver;
netdev_register(&dev->netdev.netdev, NETDEV_SOCKET_ZEP, index);
res = _bind_local(params);
if (res < 0) {

View File

@ -317,6 +317,7 @@ typedef enum {
NETDEV_SAM0_ETH,
NETDEV_ESP_NOW,
NETDEV_NRF24L01P_NG,
NETDEV_SOCKET_ZEP,
/* add more if needed */
} netdev_type_t;
/** @} */

View File

@ -227,7 +227,7 @@ void lwip_bootstrap(void)
}
#elif defined(MODULE_SOCKET_ZEP)
for (unsigned i = 0; i < LWIP_NETIF_NUMOF; i++) {
socket_zep_setup(&socket_zep_devs[i], &socket_zep_params[i]);
socket_zep_setup(&socket_zep_devs[i], &socket_zep_params[i], i);
if (netif_add(&netif[i], &socket_zep_devs[i], lwip_netdev_init,
tcpip_6lowpan_input) == NULL) {
DEBUG("Could not add socket_zep device\n");

View File

@ -46,7 +46,7 @@ void auto_init_socket_zep(void)
for (int i = 0; i < SOCKET_ZEP_MAX; i++) {
LOG_DEBUG("[auto_init_netif: initializing socket ZEP device #%u\n", i);
/* setup netdev device */
socket_zep_setup(&_socket_zeps[i], &socket_zep_params[i]);
socket_zep_setup(&_socket_zeps[i], &socket_zep_params[i], i);
gnrc_netif_ieee802154_create(&_netif[i], _socket_zep_stacks[i],
SOCKET_ZEP_MAC_STACKSIZE,
SOCKET_ZEP_MAC_PRIO, "socket_zep",

View File

@ -52,7 +52,7 @@ static void test_init(void)
printf("Initializing socket ZEP with (local: [%s]:%s, remote: [%s]:%s)\n",
p->local_addr, p->local_port, p->remote_addr, p->remote_port);
socket_zep_setup(&_dev, p);
socket_zep_setup(&_dev, p, 0);
netdev->event_callback = _event_cb;
expect(netdev->driver->init(netdev) >= 0);
_print_info(netdev);