.buf = (u32_t *)tx_frame_list_que0, .len = ARRAY_SIZE(tx_frame_list_que0), }, }, { .que_idx = GMAC_QUE_1, .rx_desc_list = { .buf = rx_desc_que12, .len = ARRAY_SIZE(rx_desc_que12), }, .tx_desc_list = { .buf = tx_desc_que12, .len = ARRAY_SIZE(tx_desc_que12), }, }, { .que_idx = GMAC_QUE_2, .rx_desc_list = { .buf = rx_desc_que12, .len = ARRAY_SIZE(rx_desc_que12), }, .tx_desc_list = { .buf = tx_desc_que12, .len = ARRAY_SIZE(tx_desc_que12), }, } }, }; NET_DEVICE_INIT(eth0_sam_gmac, CONFIG_ETH_SAM_GMAC_NAME, eth_initialize, ð0_data, ð0_config, CONFIG_ETH_INIT_PRIORITY, ð0_api, ETHERNET_L2, NET_L2_GET_CTX_TYPE(ETHERNET_L2), GMAC_MTU);
if (!cloned) { res = -ENOMEM; goto out; } res = net_recv_data(iface, cloned); if (res < 0) { SYS_LOG_ERR("Data receive failed."); goto out; } net_pkt_unref(pkt); out: /* Let the receiving thread run now */ k_yield(); return res; } static struct net_if_api loopback_if_api = { .init = loopback_init, .send = loopback_send, }; NET_DEVICE_INIT(loopback, "lo", loopback_dev_init, NULL, NULL, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, &loopback_if_api, DUMMY_L2, NET_L2_GET_CTX_TYPE(DUMMY_L2), 536);
.cca = nrf5_cca, .set_channel = nrf5_set_channel, .set_pan_id = nrf5_set_pan_id, .set_short_addr = nrf5_set_short_addr, .set_ieee_addr = nrf5_set_ieee_addr, .set_txpower = nrf5_set_txpower, .start = nrf5_start, .stop = nrf5_stop, .tx = nrf5_tx, .get_lqi = nrf5_get_lqi, }; #if defined(CONFIG_IEEE802154_NRF5_RAW) DEVICE_AND_API_INIT(nrf5_154_radio, CONFIG_IEEE802154_NRF5_DRV_NAME, nrf5_init, &nrf5_data, &nrf5_radio_cfg, POST_KERNEL, CONFIG_IEEE802154_NRF5_INIT_PRIO, &nrf5_radio_api); #else NET_DEVICE_INIT(nrf5_154_radio, CONFIG_IEEE802154_NRF5_DRV_NAME, nrf5_init, &nrf5_data, &nrf5_radio_cfg, CONFIG_IEEE802154_NRF5_INIT_PRIO, &nrf5_radio_api, IEEE802154_L2, NET_L2_GET_CTX_TYPE(IEEE802154_L2), 125); NET_STACK_INFO_ADDR(RX, nrf5_154_radio, CONFIG_IEEE802154_NRF5_RX_STACK_SIZE, CONFIG_IEEE802154_NRF5_RX_STACK_SIZE, ((struct nrf5_802154_data *) (&__device_nrf5_154_radio))->rx_stack, 0); #endif
if (bt_context_data.ipsp_chan.chan.conn) { NET_ERR("No channels available"); return -ENOMEM; } *chan = &bt_context_data.ipsp_chan.chan; return 0; } static struct bt_l2cap_server server = { .psm = L2CAP_IPSP_PSM, .sec_level = CONFIG_NET_L2_BLUETOOTH_SEC_LEVEL, .accept = ipsp_accept, }; static int net_bt_init(struct device *dev) { NET_DBG("dev %p driver_data %p", dev, dev->driver_data); bt_l2cap_server_register(&server); return 0; } NET_DEVICE_INIT(net_bt, "net_bt", net_bt_init, &bt_context_data, NULL, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, &bt_if_api, BLUETOOTH_L2, NET_L2_GET_CTX_TYPE(BLUETOOTH_L2), L2CAP_IPSP_MTU);