From 5e8f8ddc4a1a796e1ea97a1fe774b70ddf2fcad1 Mon Sep 17 00:00:00 2001 From: "Martine S. Lenders" Date: Tue, 5 May 2020 19:04:44 +0200 Subject: [PATCH] gnrc_netif: introduce gnrc_netif_mac pseudo-module for gnrc_mac members This aims to reduce circular dependencies in GNRC. --- Makefile.dep | 3 +++ makefiles/pseudomodules.inc.mk | 1 + sys/include/net/gnrc/netif.h | 6 +++--- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Makefile.dep b/Makefile.dep index 19fb715328..a49f2ca0e0 100644 --- a/Makefile.dep +++ b/Makefile.dep @@ -61,6 +61,9 @@ ifneq (,$(filter gnrc_mac,$(USEMODULE))) USEMODULE += gnrc_priority_pktqueue USEMODULE += csma_sender USEMODULE += evtimer + ifneq (,$(filter gnrc_netif,$(USEMODULE))) + USEMODULE += gnrc_netif_mac + endif endif ifneq (,$(filter gnrc_gomach,$(USEMODULE))) diff --git a/makefiles/pseudomodules.inc.mk b/makefiles/pseudomodules.inc.mk index 29fa1e8bee..34fc2385df 100644 --- a/makefiles/pseudomodules.inc.mk +++ b/makefiles/pseudomodules.inc.mk @@ -35,6 +35,7 @@ PSEUDOMODULES += gnrc_netif_events PSEUDOMODULES += gnrc_pktbuf_cmd PSEUDOMODULES += gnrc_netif_6lo PSEUDOMODULES += gnrc_netif_ipv6 +PSEUDOMODULES += gnrc_netif_mac PSEUDOMODULES += gnrc_netif_cmd_% PSEUDOMODULES += gnrc_netif_dedup PSEUDOMODULES += gnrc_nettype_% diff --git a/sys/include/net/gnrc/netif.h b/sys/include/net/gnrc/netif.h index 7202bb2a0d..7538caf537 100644 --- a/sys/include/net/gnrc/netif.h +++ b/sys/include/net/gnrc/netif.h @@ -48,7 +48,7 @@ #if IS_USED(MODULE_GNRC_NETIF_IPV6) #include "net/gnrc/netif/ipv6.h" #endif -#ifdef MODULE_GNRC_MAC +#if IS_USED(MODULE_GNRC_NETIF_MAC) #include "net/gnrc/netif/mac.h" #endif #include "net/ndp.h" @@ -86,9 +86,9 @@ typedef struct { #if IS_USED(MODULE_GNRC_NETIF_IPV6) || defined(DOXYGEN) gnrc_netif_ipv6_t ipv6; /**< IPv6 component */ #endif -#if defined(MODULE_GNRC_MAC) || DOXYGEN +#if IS_USED(MODULE_GNRC_NETIF_MAC) || defined(DOXYGEN) gnrc_netif_mac_t mac; /**< @ref net_gnrc_mac component */ -#endif /* MODULE_GNRC_MAC */ +#endif /* IS_USED(MODULE_GNRC_NETIF_MAC) || defined(DOXYGEN) */ /** * @brief Flags for the interface *