mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
drivers/at86rf2xx: register driver with netdev
This commit is contained in:
parent
7ceb3f0a68
commit
53eedc283b
@ -37,7 +37,7 @@
|
||||
#include "debug.h"
|
||||
|
||||
|
||||
void at86rf2xx_setup(at86rf2xx_t *dev, const at86rf2xx_params_t *params)
|
||||
void at86rf2xx_setup(at86rf2xx_t *dev, const at86rf2xx_params_t *params, uint8_t index)
|
||||
{
|
||||
netdev_t *netdev = (netdev_t *)dev;
|
||||
|
||||
@ -56,6 +56,8 @@ void at86rf2xx_setup(at86rf2xx_t *dev, const at86rf2xx_params_t *params)
|
||||
/* initialize device descriptor */
|
||||
dev->params = *params;
|
||||
#endif
|
||||
|
||||
netdev_register(netdev, NETDEV_AT86RF2XX, index);
|
||||
}
|
||||
|
||||
static void at86rf2xx_disable_clock_output(at86rf2xx_t *dev)
|
||||
|
@ -294,8 +294,10 @@ typedef struct {
|
||||
*
|
||||
* @param[out] dev device descriptor
|
||||
* @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 at86rf2xx_setup(at86rf2xx_t *dev, const at86rf2xx_params_t *params);
|
||||
void at86rf2xx_setup(at86rf2xx_t *dev, const at86rf2xx_params_t *params, uint8_t index);
|
||||
|
||||
/**
|
||||
* @brief Trigger a hardware reset and configure radio with default values
|
||||
|
@ -200,7 +200,7 @@ void lwip_bootstrap(void)
|
||||
}
|
||||
#elif defined(MODULE_AT86RF2XX)
|
||||
for (unsigned i = 0; i < LWIP_NETIF_NUMOF; i++) {
|
||||
at86rf2xx_setup(&at86rf2xx_devs[i], &at86rf2xx_params[i]);
|
||||
at86rf2xx_setup(&at86rf2xx_devs[i], &at86rf2xx_params[i], i);
|
||||
if (netif_add(&netif[i], &at86rf2xx_devs[i], lwip_netdev_init,
|
||||
tcpip_6lowpan_input) == NULL) {
|
||||
DEBUG("Could not add at86rf2xx device\n");
|
||||
|
@ -64,7 +64,7 @@ void openthread_bootstrap(void)
|
||||
|
||||
/* setup netdev modules */
|
||||
#ifdef MODULE_AT86RF2XX
|
||||
at86rf2xx_setup(&at86rf2xx_dev, &at86rf2xx_params[0]);
|
||||
at86rf2xx_setup(&at86rf2xx_dev, &at86rf2xx_params[0], 0);
|
||||
netdev_t *netdev = (netdev_t *) &at86rf2xx_dev;
|
||||
#endif
|
||||
#ifdef MODULE_KW41ZRF
|
||||
|
@ -71,7 +71,7 @@ int openwsn_bootstrap(void)
|
||||
|
||||
#ifdef MODULE_AT86RF2XX
|
||||
netdev_t *netdev = (netdev_t *)&at86rf2xx_dev.netdev.netdev;
|
||||
at86rf2xx_setup(&at86rf2xx_dev, &at86rf2xx_params[0]);
|
||||
at86rf2xx_setup(&at86rf2xx_dev, &at86rf2xx_params[0], 0);
|
||||
(void) netdev;
|
||||
#endif
|
||||
|
||||
|
@ -51,7 +51,7 @@ void auto_init_at86rf2xx(void)
|
||||
for (unsigned i = 0; i < AT86RF2XX_NUM; i++) {
|
||||
LOG_DEBUG("[auto_init_netif] initializing at86rf2xx #%u\n", i);
|
||||
|
||||
at86rf2xx_setup(&at86rf2xx_devs[i], &at86rf2xx_params[i]);
|
||||
at86rf2xx_setup(&at86rf2xx_devs[i], &at86rf2xx_params[i], i);
|
||||
#if defined(MODULE_GNRC_GOMACH)
|
||||
gnrc_netif_gomach_create(&_netif[i], _at86rf2xx_stacks[i],
|
||||
AT86RF2XX_MAC_STACKSIZE,
|
||||
|
@ -96,7 +96,7 @@ int main(void)
|
||||
netdev_t *dev = (netdev_t *)(&devs[i]);
|
||||
|
||||
printf("Initializing AT86RF2xx radio at SPI_%d\n", p->spi);
|
||||
at86rf2xx_setup(&devs[i], p);
|
||||
at86rf2xx_setup(&devs[i], p, i);
|
||||
dev->event_callback = _event_cb;
|
||||
if (dev->driver->init(dev) < 0) {
|
||||
continue;
|
||||
|
@ -141,7 +141,7 @@ int main(void)
|
||||
{
|
||||
at86rf2xx_t dev;
|
||||
bool success = true;
|
||||
at86rf2xx_setup(&dev, &at86rf2xx_params[0]);
|
||||
at86rf2xx_setup(&dev, &at86rf2xx_params[0], 0);
|
||||
dev.netdev.netdev.event_callback = _event_cb;
|
||||
if (dev.netdev.netdev.driver->init(&dev.netdev.netdev) != 0) {
|
||||
return EXIT_FAILURE;
|
||||
|
Loading…
Reference in New Issue
Block a user