drivers/slipdev: register with netdev
This commit is contained in:
parent
9fbab8f0f8
commit
c1eead925d
@ -321,6 +321,7 @@ typedef enum {
|
|||||||
NETDEV_SX126X,
|
NETDEV_SX126X,
|
||||||
NETDEV_CC2420,
|
NETDEV_CC2420,
|
||||||
NETDEV_ETHOS,
|
NETDEV_ETHOS,
|
||||||
|
NETDEV_SLIPDEV,
|
||||||
/* add more if needed */
|
/* add more if needed */
|
||||||
} netdev_type_t;
|
} netdev_type_t;
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|||||||
@ -105,8 +105,10 @@ typedef struct {
|
|||||||
*
|
*
|
||||||
* @param[in] dev device descriptor
|
* @param[in] dev device descriptor
|
||||||
* @param[in] params parameters for device initialization
|
* @param[in] params parameters for device initialization
|
||||||
|
* @param[in] index index of @p params in a global parameter struct array.
|
||||||
|
* If initialized manually, pass a unique identifier instead.
|
||||||
*/
|
*/
|
||||||
void slipdev_setup(slipdev_t *dev, const slipdev_params_t *params);
|
void slipdev_setup(slipdev_t *dev, const slipdev_params_t *params, uint8_t index);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
USEMODULE += tsrb
|
USEMODULE += tsrb
|
||||||
USEMODULE += eui_provider
|
USEMODULE += eui_provider
|
||||||
|
USEMODULE += netdev_register
|
||||||
FEATURES_REQUIRED += periph_uart
|
FEATURES_REQUIRED += periph_uart
|
||||||
|
|
||||||
ifneq (,$(filter slipdev_stdio,$(USEMODULE)))
|
ifneq (,$(filter slipdev_stdio,$(USEMODULE)))
|
||||||
|
|||||||
@ -252,12 +252,14 @@ static const netdev_driver_t slip_driver = {
|
|||||||
.set = netdev_set_notsup,
|
.set = netdev_set_notsup,
|
||||||
};
|
};
|
||||||
|
|
||||||
void slipdev_setup(slipdev_t *dev, const slipdev_params_t *params)
|
void slipdev_setup(slipdev_t *dev, const slipdev_params_t *params, uint8_t index)
|
||||||
{
|
{
|
||||||
/* set device descriptor fields */
|
/* set device descriptor fields */
|
||||||
dev->config = *params;
|
dev->config = *params;
|
||||||
dev->state = 0;
|
dev->state = 0;
|
||||||
dev->netdev.driver = &slip_driver;
|
dev->netdev.driver = &slip_driver;
|
||||||
|
|
||||||
|
netdev_register(&dev->netdev, NETDEV_SLIPDEV, index);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|||||||
@ -48,7 +48,7 @@ void auto_init_slipdev(void)
|
|||||||
|
|
||||||
LOG_DEBUG("[auto_init_netif] initializing slip #%u\n", i);
|
LOG_DEBUG("[auto_init_netif] initializing slip #%u\n", i);
|
||||||
|
|
||||||
slipdev_setup(&slipdevs[i], p);
|
slipdev_setup(&slipdevs[i], p, i);
|
||||||
gnrc_netif_raw_create(&_netif[i], _slipdev_stacks[i], SLIPDEV_STACKSIZE,
|
gnrc_netif_raw_create(&_netif[i], _slipdev_stacks[i], SLIPDEV_STACKSIZE,
|
||||||
SLIPDEV_PRIO, "slipdev",
|
SLIPDEV_PRIO, "slipdev",
|
||||||
(netdev_t *)&slipdevs[i]);
|
(netdev_t *)&slipdevs[i]);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user