From 3e42fb78662a72bf793bc4a285b3f55872f8f3db Mon Sep 17 00:00:00 2001 From: Jose Alamos Date: Thu, 5 Mar 2020 15:11:20 +0100 Subject: [PATCH] drivers/netdev: use netdev_event_irq function --- cpu/cc2538/radio/cc2538_rf_netdev.c | 4 +--- cpu/esp32/esp-eth/esp_eth_netdev.c | 6 +++--- cpu/esp_common/esp-now/esp_now_netdev.c | 2 +- cpu/esp_common/esp-wifi/esp_wifi_netdev.c | 6 +++--- cpu/native/netdev_tap/netdev_tap.c | 2 +- cpu/native/socket_zep/socket_zep.c | 6 +++--- cpu/nrf52/radio/nrf802154/nrf802154.c | 2 +- cpu/nrf5x_common/radio/nrfmin/nrfmin.c | 2 +- drivers/at86rf2xx/at86rf2xx_netdev.c | 10 +++------- drivers/cc110x/cc110x_netdev.c | 2 +- drivers/cc2420/cc2420_netdev.c | 4 +--- drivers/dose/dose.c | 2 +- drivers/enc28j60/enc28j60.c | 3 +-- drivers/encx24j600/encx24j600.c | 2 +- drivers/ethos/ethos.c | 3 ++- drivers/kw2xrf/kw2xrf_netdev.c | 4 +--- drivers/mrf24j40/mrf24j40_netdev.c | 5 ++--- drivers/rn2xx3/rn2xx3.c | 8 ++------ drivers/slipdev/slipdev.c | 5 ++--- drivers/stm32_eth/stm32_eth.c | 2 +- drivers/sx127x/sx127x.c | 4 +--- drivers/w5100/w5100.c | 4 +--- drivers/xbee/xbee.c | 4 +--- sys/usb/usbus/cdc/ecm/cdc_ecm.c | 4 ++-- tests/gnrc_netif/common.c | 2 +- tests/lwip_sock_ip/stack.c | 4 ++-- tests/lwip_sock_udp/stack.c | 4 ++-- tests/netdev_test/main.c | 2 +- 28 files changed, 43 insertions(+), 65 deletions(-) diff --git a/cpu/cc2538/radio/cc2538_rf_netdev.c b/cpu/cc2538/radio/cc2538_rf_netdev.c index 1f0045d223f15..378bcc32e9672 100644 --- a/cpu/cc2538/radio/cc2538_rf_netdev.c +++ b/cpu/cc2538/radio/cc2538_rf_netdev.c @@ -36,9 +36,7 @@ static netdev_t *_dev; void _irq_handler(void) { - if (_dev->event_callback) { - _dev->event_callback(_dev, NETDEV_EVENT_ISR); - } + netdev_trigger_event_isr(_dev); } static int _get(netdev_t *netdev, netopt_t opt, void *value, size_t max_len) diff --git a/cpu/esp32/esp-eth/esp_eth_netdev.c b/cpu/esp32/esp-eth/esp_eth_netdev.c index 93d289a19b95c..4e755056203e2 100644 --- a/cpu/esp32/esp-eth/esp_eth_netdev.c +++ b/cpu/esp32/esp-eth/esp_eth_netdev.c @@ -99,7 +99,7 @@ static esp_err_t IRAM_ATTR _eth_input_callback(void *buffer, uint16_t len, void memcpy(_esp_eth_dev.rx_buf, buffer, len); _esp_eth_dev.rx_len = len; _esp_eth_dev.event = SYSTEM_EVENT_ETH_RX_DONE; - _esp_eth_dev.netdev.event_callback(&_esp_eth_dev.netdev, NETDEV_EVENT_ISR); + netdev_trigger_event_isr(&_esp_eth_dev.netdev); mutex_unlock(&_esp_eth_dev.dev_lock); @@ -351,7 +351,7 @@ static esp_err_t IRAM_ATTR _esp_system_event_handler(void *ctx, system_event_t * _esp_eth_dev.link_up = true; if (SYSTEM_EVENT_MAX) { _esp_eth_dev.event = SYSTEM_EVENT_ETH_CONNECTED; - _esp_eth_dev.netdev.event_callback(&_esp_eth_dev.netdev, NETDEV_EVENT_ISR); + netdev_trigger_event_isr(&_esp_eth_dev.netdev); } break; case SYSTEM_EVENT_ETH_DISCONNECTED: @@ -359,7 +359,7 @@ static esp_err_t IRAM_ATTR _esp_system_event_handler(void *ctx, system_event_t * _esp_eth_dev.link_up = false; if (SYSTEM_EVENT_MAX) { _esp_eth_dev.event = SYSTEM_EVENT_ETH_DISCONNECTED; - _esp_eth_dev.netdev.event_callback(&_esp_eth_dev.netdev, NETDEV_EVENT_ISR); + netdev_trigger_event_isr(&_esp_eth_dev.netdev); } break; default: diff --git a/cpu/esp_common/esp-now/esp_now_netdev.c b/cpu/esp_common/esp-now/esp_now_netdev.c index 64c2c360fc5e0..2cdc9f698c53c 100644 --- a/cpu/esp_common/esp-now/esp_now_netdev.c +++ b/cpu/esp_common/esp-now/esp_now_netdev.c @@ -185,7 +185,7 @@ static void IRAM_ATTR esp_now_scan_peers_timer_cb(void* arg) if (dev->netdev.event_callback) { dev->scan_event++; - dev->netdev.event_callback((netdev_t*)dev, NETDEV_EVENT_ISR); + netdev_trigger_event_isr((netdev_t*)dev); } } diff --git a/cpu/esp_common/esp-wifi/esp_wifi_netdev.c b/cpu/esp_common/esp-wifi/esp_wifi_netdev.c index 9d5b31737e85a..6dedcd5f0099b 100644 --- a/cpu/esp_common/esp-wifi/esp_wifi_netdev.c +++ b/cpu/esp_common/esp-wifi/esp_wifi_netdev.c @@ -353,7 +353,7 @@ esp_err_t _esp_wifi_rx_cb(void *buffer, uint16_t len, void *eb) /* trigger netdev event to read the data */ _esp_wifi_dev.event_recv++; - _esp_wifi_dev.netdev.event_callback(&_esp_wifi_dev.netdev, NETDEV_EVENT_ISR); + netdev_trigger_event_isr(&_esp_wifi_dev.netdev); /* reset IRQ nesting counter */ irq_interrupt_nesting--; @@ -434,7 +434,7 @@ static esp_err_t IRAM_ATTR _esp_system_event_handler(void *ctx, system_event_t * _esp_wifi_dev.connected = true; _esp_wifi_dev.event_conn++; - _esp_wifi_dev.netdev.event_callback(&_esp_wifi_dev.netdev, NETDEV_EVENT_ISR); + netdev_trigger_event_isr(&_esp_wifi_dev.netdev); break; @@ -455,7 +455,7 @@ static esp_err_t IRAM_ATTR _esp_system_event_handler(void *ctx, system_event_t * _esp_wifi_dev.connected = false; _esp_wifi_dev.event_disc++; - _esp_wifi_dev.netdev.event_callback(&_esp_wifi_dev.netdev, NETDEV_EVENT_ISR); + netdev_trigger_event_isr(&_esp_wifi_dev.netdev); /* call disconnect to reset internal state */ result = esp_wifi_disconnect(); diff --git a/cpu/native/netdev_tap/netdev_tap.c b/cpu/native/netdev_tap/netdev_tap.c index 0ce38c4718c9c..1afdc1e62aa3d 100644 --- a/cpu/native/netdev_tap/netdev_tap.c +++ b/cpu/native/netdev_tap/netdev_tap.c @@ -302,7 +302,7 @@ static void _tap_isr(int fd, void *arg) { netdev_t *netdev = (netdev_t *)arg; if (netdev->event_callback) { - netdev->event_callback(netdev, NETDEV_EVENT_ISR); + netdev_trigger_event_isr(netdev); } else { puts("netdev_tap: _isr: no event callback."); diff --git a/cpu/native/socket_zep/socket_zep.c b/cpu/native/socket_zep/socket_zep.c index 3b301a78c7862..d47d23e802a18 100644 --- a/cpu/native/socket_zep/socket_zep.c +++ b/cpu/native/socket_zep/socket_zep.c @@ -112,7 +112,7 @@ static int _send(netdev_t *netdev, const iolist_t *iolist) /* simulate TX_STARTED interrupt */ if (netdev->event_callback) { dev->last_event = NETDEV_EVENT_TX_STARTED; - netdev->event_callback(netdev, NETDEV_EVENT_ISR); + netdev_trigger_event_isr(netdev); thread_yield(); } res = writev(dev->sock_fd, v, n + 2); @@ -123,7 +123,7 @@ static int _send(netdev_t *netdev, const iolist_t *iolist) /* simulate TX_COMPLETE interrupt */ if (netdev->event_callback) { dev->last_event = NETDEV_EVENT_TX_COMPLETE; - netdev->event_callback(netdev, NETDEV_EVENT_ISR); + netdev_trigger_event_isr(netdev); thread_yield(); } @@ -283,7 +283,7 @@ static void _socket_isr(int fd, void *arg) socket_zep_t *dev = (socket_zep_t *)netdev; dev->last_event = NETDEV_EVENT_RX_COMPLETE; - netdev->event_callback(netdev, NETDEV_EVENT_ISR); + netdev_trigger_event_isr(netdev); } } diff --git a/cpu/nrf52/radio/nrf802154/nrf802154.c b/cpu/nrf52/radio/nrf802154/nrf802154.c index ac3886e341a4c..69f5ea3c8f116 100644 --- a/cpu/nrf52/radio/nrf802154/nrf802154.c +++ b/cpu/nrf52/radio/nrf802154/nrf802154.c @@ -526,7 +526,7 @@ void isr_radio(void) DEBUG("[nrf802154] Unhandled state: %x\n", (uint8_t)NRF_RADIO->STATE); } if (_state) { - nrf802154_dev.netdev.event_callback(&nrf802154_dev.netdev, NETDEV_EVENT_ISR); + netdev_trigger_event_isr(&nrf802154_dev.netdev); } } else { diff --git a/cpu/nrf5x_common/radio/nrfmin/nrfmin.c b/cpu/nrf5x_common/radio/nrfmin/nrfmin.c index 423f0b1184345..de492eeb15c17 100644 --- a/cpu/nrf5x_common/radio/nrfmin/nrfmin.c +++ b/cpu/nrf5x_common/radio/nrfmin/nrfmin.c @@ -307,7 +307,7 @@ void isr_radio(void) } else { rx_lock = 0; - nrfmin_dev.event_callback(&nrfmin_dev, NETDEV_EVENT_ISR); + netdev_trigger_event_isr(&nrfmin_dev); } } else if (state == STATE_TX) { diff --git a/drivers/at86rf2xx/at86rf2xx_netdev.c b/drivers/at86rf2xx/at86rf2xx_netdev.c index 02f2b1b94f044..6daa510ebcdb4 100644 --- a/drivers/at86rf2xx/at86rf2xx_netdev.c +++ b/drivers/at86rf2xx/at86rf2xx_netdev.c @@ -65,11 +65,7 @@ static netdev_t *at86rfmega_dev; #else static void _irq_handler(void *arg) { - netdev_t *dev = (netdev_t *) arg; - - if (dev->event_callback) { - dev->event_callback(dev, NETDEV_EVENT_ISR); - } + netdev_trigger_event_isr(arg); } #endif @@ -762,7 +758,7 @@ ISR(TRX24_RX_END_vect, ISR_BLOCK) ((at86rf2xx_t *)at86rfmega_dev)->irq_status |= AT86RF2XX_IRQ_STATUS_MASK__RX_END; /* Call upper layer to process received data */ - at86rfmega_dev->event_callback(at86rfmega_dev, NETDEV_EVENT_ISR); + netdev_trigger_event_isr(at86rfmega_dev); atmega_exit_isr(); } @@ -806,7 +802,7 @@ ISR(TRX24_TX_END_vect, ISR_BLOCK) dev->irq_status |= AT86RF2XX_IRQ_STATUS_MASK__TX_END; /* Call upper layer to process if data was send successful */ - at86rfmega_dev->event_callback(at86rfmega_dev, NETDEV_EVENT_ISR); + netdev_trigger_event_isr(at86rfmega_dev); } atmega_exit_isr(); diff --git a/drivers/cc110x/cc110x_netdev.c b/drivers/cc110x/cc110x_netdev.c index 2f69dfa82305c..010d1fae5cccb 100644 --- a/drivers/cc110x/cc110x_netdev.c +++ b/drivers/cc110x/cc110x_netdev.c @@ -89,7 +89,7 @@ void cc110x_on_gdo(void *_dev) mutex_unlock(&dev->isr_signal); } else { - dev->netdev.event_callback(&dev->netdev, NETDEV_EVENT_ISR); + netdev_trigger_event_isr(&dev->netdev); } } diff --git a/drivers/cc2420/cc2420_netdev.c b/drivers/cc2420/cc2420_netdev.c index 66612b8c24cbd..10b4eddf1a9fe 100644 --- a/drivers/cc2420/cc2420_netdev.c +++ b/drivers/cc2420/cc2420_netdev.c @@ -58,9 +58,7 @@ static void _irq_handler(void *arg) { netdev_t *dev = (netdev_t *)arg; - if(dev->event_callback) { - dev->event_callback(dev, NETDEV_EVENT_ISR); - } + netdev_trigger_event_isr(dev); } static inline uint16_t to_u16(const void *buf) diff --git a/drivers/dose/dose.c b/drivers/dose/dose.c index baadeb7756229..440c5aee18041 100644 --- a/drivers/dose/dose.c +++ b/drivers/dose/dose.c @@ -71,7 +71,7 @@ static dose_signal_t state_transit_blocked(dose_t *ctx, dose_signal_t signal) * if this frame should be processed. By queuing NETDEV_EVENT_ISR, * the netif thread will call _isr at some time. */ SETBIT(ctx->flags, DOSE_FLAG_RECV_BUF_DIRTY); - ctx->netdev.event_callback((netdev_t *) ctx, NETDEV_EVENT_ISR); + netdev_trigger_event_isr((netdev_t *) ctx); } if (ctx->sense_pin != GPIO_UNDEF) { diff --git a/drivers/enc28j60/enc28j60.c b/drivers/enc28j60/enc28j60.c index e641015557852..500966c8ce3e9 100644 --- a/drivers/enc28j60/enc28j60.c +++ b/drivers/enc28j60/enc28j60.c @@ -253,8 +253,7 @@ static void on_int(void *arg) /* disable global interrupt enable bit to avoid losing interrupts */ cmd_bfc((enc28j60_t *)arg, REG_EIE, -1, EIE_INTIE); - netdev_t *netdev = (netdev_t *)arg; - netdev->event_callback(arg, NETDEV_EVENT_ISR); + netdev_trigger_event_isr(arg); } static int nd_send(netdev_t *netdev, const iolist_t *iolist) diff --git a/drivers/encx24j600/encx24j600.c b/drivers/encx24j600/encx24j600.c index 89096769da2ca..590df842203d4 100644 --- a/drivers/encx24j600/encx24j600.c +++ b/drivers/encx24j600/encx24j600.c @@ -99,7 +99,7 @@ static void encx24j600_isr(void *arg) gpio_irq_disable(dev->int_pin); /* call netdev hook */ - dev->netdev.event_callback((netdev_t*) dev, NETDEV_EVENT_ISR); + netdev_trigger_event_isr((netdev_t*) dev); } static void _isr(netdev_t *netdev) diff --git a/drivers/ethos/ethos.c b/drivers/ethos/ethos.c index b7707e138dae3..8e70610c0769a 100644 --- a/drivers/ethos/ethos.c +++ b/drivers/ethos/ethos.c @@ -123,7 +123,8 @@ static void _end_of_frame(ethos_t *dev) if (dev->framesize) { assert(dev->last_framesize == 0); dev->last_framesize = dev->framesize; - dev->netdev.event_callback((netdev_t*) dev, NETDEV_EVENT_ISR); + netdev_trigger_event_isr((netdev_t*) dev); + } break; case ETHOS_FRAME_TYPE_HELLO: diff --git a/drivers/kw2xrf/kw2xrf_netdev.c b/drivers/kw2xrf/kw2xrf_netdev.c index 629b4cc700a54..a65aa65565873 100644 --- a/drivers/kw2xrf/kw2xrf_netdev.c +++ b/drivers/kw2xrf/kw2xrf_netdev.c @@ -63,9 +63,7 @@ static void _irq_handler(void *arg) /* We use this counter to avoid filling the message queue with redundant ISR events */ if (num_irqs_queued == num_irqs_handled) { ++num_irqs_queued; - if (netdev->event_callback) { - netdev->event_callback(netdev, NETDEV_EVENT_ISR); - } + netdev_trigger_event_isr(netdev); } } diff --git a/drivers/mrf24j40/mrf24j40_netdev.c b/drivers/mrf24j40/mrf24j40_netdev.c index 406b82cd6e179..74d61e491e868 100644 --- a/drivers/mrf24j40/mrf24j40_netdev.c +++ b/drivers/mrf24j40/mrf24j40_netdev.c @@ -41,9 +41,8 @@ static void _irq_handler(void *arg) { netdev_t *dev = (netdev_t *) arg; - if (dev->event_callback) { - dev->event_callback(dev, NETDEV_EVENT_ISR); - } + netdev_trigger_event_isr(dev); + ((mrf24j40_t *)arg)->irq_flag = 1; } diff --git a/drivers/rn2xx3/rn2xx3.c b/drivers/rn2xx3/rn2xx3.c index ce0375677f28f..d58632e35ccff 100644 --- a/drivers/rn2xx3/rn2xx3.c +++ b/drivers/rn2xx3/rn2xx3.c @@ -62,15 +62,11 @@ static void _rx_cb(void *arg, uint8_t c) if (dev->int_state == RN2XX3_INT_STATE_MAC_RX_MESSAGE) { /* RX state: closing RX buffer */ dev->rx_buf[(dev->rx_size + 1) / 2] = 0; - if (netdev->event_callback) { - netdev->event_callback(netdev, NETDEV_EVENT_ISR); - } + netdev_trigger_event_isr(netdev); } else if (dev->int_state == RN2XX3_INT_STATE_MAC_TX) { /* still in TX state: transmission complete but no data received */ - if (netdev->event_callback) { - netdev->event_callback(netdev, NETDEV_EVENT_ISR); - } + netdev_trigger_event_isr(netdev); } dev->resp_size = 0; dev->rx_size = 0; diff --git a/drivers/slipdev/slipdev.c b/drivers/slipdev/slipdev.c index effb7c9658ac8..d4910f10e9881 100644 --- a/drivers/slipdev/slipdev.c +++ b/drivers/slipdev/slipdev.c @@ -64,9 +64,8 @@ static void _slip_rx_cb(void *arg, uint8_t byte) tsrb_add_one(&dev->inbuf, byte); check_end: if (byte == SLIPDEV_END) { - if ((dev->state == SLIPDEV_STATE_NET) && - (dev->netdev.event_callback != NULL)) { - dev->netdev.event_callback((netdev_t *)dev, NETDEV_EVENT_ISR); + if (dev->state == SLIPDEV_STATE_NET) { + netdev_trigger_event_isr((netdev_t*) dev); } dev->state = SLIPDEV_STATE_NONE; } diff --git a/drivers/stm32_eth/stm32_eth.c b/drivers/stm32_eth/stm32_eth.c index 34e868cac198b..9dc85a1db11fb 100644 --- a/drivers/stm32_eth/stm32_eth.c +++ b/drivers/stm32_eth/stm32_eth.c @@ -57,7 +57,7 @@ void isr_eth(void) ETH->DMASR = ETH_DMASR_RS | ETH_DMASR_NIS; mutex_unlock(&_rx); if (_netdev) { - _netdev->event_callback(_netdev, NETDEV_EVENT_ISR); + netdev_trigger_event_isr(_netdev); } } diff --git a/drivers/sx127x/sx127x.c b/drivers/sx127x/sx127x.c index 91047e1b7003c..69a44c8ec90e9 100644 --- a/drivers/sx127x/sx127x.c +++ b/drivers/sx127x/sx127x.c @@ -221,9 +221,7 @@ uint32_t sx127x_random(sx127x_t *dev) */ void sx127x_isr(netdev_t *dev) { - if (dev->event_callback) { - dev->event_callback(dev, NETDEV_EVENT_ISR); - } + netdev_trigger_event_isr(dev); } static void sx127x_on_dio_isr(sx127x_t *dev, sx127x_flags_t flag) diff --git a/drivers/w5100/w5100.c b/drivers/w5100/w5100.c index 96a78be047995..e25a01de05bf1 100644 --- a/drivers/w5100/w5100.c +++ b/drivers/w5100/w5100.c @@ -106,9 +106,7 @@ static void extint(void *arg) { w5100_t *dev = (w5100_t *)arg; - if (dev->nd.event_callback) { - dev->nd.event_callback(&dev->nd, NETDEV_EVENT_ISR); - } + netdev_trigger_event_isr(&dev->nd); } void w5100_setup(w5100_t *dev, const w5100_params_t *params) diff --git a/drivers/xbee/xbee.c b/drivers/xbee/xbee.c index d5e6c403e7039..2c93b07e335be 100644 --- a/drivers/xbee/xbee.c +++ b/drivers/xbee/xbee.c @@ -233,9 +233,7 @@ static void _rx_cb(void *arg, uint8_t c) dev->rx_buf[dev->rx_count++] = c; if (dev->rx_count == dev->rx_limit) { /* packet is complete */ - if (dev->event_callback) { - dev->event_callback((netdev_t *)dev, NETDEV_EVENT_ISR); - } + netdev_trigger_event_isr((netdev_t*) dev); dev->int_state = XBEE_INT_STATE_IDLE; } break; diff --git a/sys/usb/usbus/cdc/ecm/cdc_ecm.c b/sys/usb/usbus/cdc/ecm/cdc_ecm.c index 752b850c7646a..94da1bd960696 100644 --- a/sys/usb/usbus/cdc/ecm/cdc_ecm.c +++ b/sys/usb/usbus/cdc/ecm/cdc_ecm.c @@ -316,8 +316,8 @@ static void _store_frame_chunk(usbus_cdcecm_device_t *cdcecm) sizeof(size_t)); memcpy(cdcecm->in_buf + cdcecm->len, buf, len); cdcecm->len += len; - if (len < USBUS_CDCECM_EP_DATA_SIZE && cdcecm->netdev.event_callback) { - cdcecm->netdev.event_callback(&cdcecm->netdev, NETDEV_EVENT_ISR); + if (len < USBUS_CDCECM_EP_DATA_SIZE) { + netdev_trigger_event_isr(&cdcecm->netdev); } } diff --git a/tests/gnrc_netif/common.c b/tests/gnrc_netif/common.c index 6e84f62ee3abc..35a4c2d06bbf2 100644 --- a/tests/gnrc_netif/common.c +++ b/tests/gnrc_netif/common.c @@ -81,7 +81,7 @@ void _test_trigger_recv(gnrc_netif_t *netif, const uint8_t *data, tmp_buffer_bytes = 0; } assert(dev->event_callback); - dev->event_callback(dev, NETDEV_EVENT_ISR); + netdev_trigger_event_isr(dev); } static int _netdev_recv(netdev_t *dev, char *buf, int len, void *info) diff --git a/tests/lwip_sock_ip/stack.c b/tests/lwip_sock_ip/stack.c index 8adac0d43a0b0..e8bebb7b96841 100644 --- a/tests/lwip_sock_ip/stack.c +++ b/tests/lwip_sock_ip/stack.c @@ -247,7 +247,7 @@ bool _inject_4packet(uint32_t src, uint32_t dst, uint8_t proto, void *data, _netdev_buffer_size = sizeof(ethernet_hdr_t) + sizeof(struct ip_hdr) + data_len; mutex_unlock(&_netdev_buffer_mutex); - ((netdev_t *)&netdev)->event_callback((netdev_t *)&netdev, NETDEV_EVENT_ISR); + netdev_trigger_event_isr((netdev_t *)&netdev); return true; #else @@ -279,7 +279,7 @@ bool _inject_6packet(const ipv6_addr_t *src, const ipv6_addr_t *dst, _netdev_buffer_size = sizeof(ethernet_hdr_t) + sizeof(ipv6_hdr_t) + data_len; mutex_unlock(&_netdev_buffer_mutex); - ((netdev_t *)&netdev)->event_callback((netdev_t *)&netdev, NETDEV_EVENT_ISR); + netdev_trigger_event_isr((netdev_t *)&netdev); return true; #else diff --git a/tests/lwip_sock_udp/stack.c b/tests/lwip_sock_udp/stack.c index 981c43ce0d2d6..9e4c0e8d3ddf1 100644 --- a/tests/lwip_sock_udp/stack.c +++ b/tests/lwip_sock_udp/stack.c @@ -259,7 +259,7 @@ bool _inject_4packet(uint32_t src, uint32_t dst, uint16_t src_port, _netdev_buffer_size = sizeof(ethernet_hdr_t) + sizeof(struct ip_hdr) + sizeof(udp_hdr_t) + data_len; mutex_unlock(&_netdev_buffer_mutex); - ((netdev_t *)&netdev)->event_callback((netdev_t *)&netdev, NETDEV_EVENT_ISR); + netdev_trigger_event_isr((netdev_t *)&netdev); return true; #else @@ -308,7 +308,7 @@ bool _inject_6packet(const ipv6_addr_t *src, const ipv6_addr_t *dst, _netdev_buffer_size = sizeof(ethernet_hdr_t) + sizeof(ipv6_hdr_t) + sizeof(udp_hdr_t) + data_len; mutex_unlock(&_netdev_buffer_mutex); - ((netdev_t *)&netdev)->event_callback((netdev_t *)&netdev, NETDEV_EVENT_ISR); + netdev_trigger_event_isr((netdev_t *)&netdev); return true; #else diff --git a/tests/netdev_test/main.c b/tests/netdev_test/main.c index 2ba913765fd5b..db1e606c6f54a 100644 --- a/tests/netdev_test/main.c +++ b/tests/netdev_test/main.c @@ -152,7 +152,7 @@ static int test_receive(void) /* register for GNRC_NETTYPE_UNDEF */ gnrc_netreg_register(GNRC_NETTYPE_UNDEF, &me); /* fire ISR event */ - _dev.netdev.event_callback((netdev_t *)&_dev.netdev, NETDEV_EVENT_ISR); + netdev_trigger_event_isr((netdev_t *)&_dev.netdev); /* wait for packet from MAC layer*/ msg_receive(&msg); /* check message */