From 72c5fd06b441819ea8737927ee34edae1d2bb539 Mon Sep 17 00:00:00 2001
From: Martine Lenders <mail@martine-lenders.eu>
Date: Wed, 5 Dec 2018 14:22:14 +0100
Subject: [PATCH] gnrc_netif: make link-layer specific operations proper
 submodules

---
 Makefile.dep                                               | 6 ++++++
 sys/net/gnrc/Makefile                                      | 2 +-
 sys/net/gnrc/netif/Makefile                                | 7 +++++++
 sys/net/gnrc/netif/ethernet/Makefile                       | 3 +++
 sys/net/gnrc/netif/{ => ethernet}/gnrc_netif_ethernet.c    | 4 ----
 sys/net/gnrc/netif/ieee802154/Makefile                     | 3 +++
 .../gnrc/netif/{ => ieee802154}/gnrc_netif_ieee802154.c    | 4 ----
 7 files changed, 20 insertions(+), 9 deletions(-)
 create mode 100644 sys/net/gnrc/netif/ethernet/Makefile
 rename sys/net/gnrc/netif/{ => ethernet}/gnrc_netif_ethernet.c (98%)
 create mode 100644 sys/net/gnrc/netif/ieee802154/Makefile
 rename sys/net/gnrc/netif/{ => ieee802154}/gnrc_netif_ieee802154.c (98%)

diff --git a/Makefile.dep b/Makefile.dep
index 6465fcfbaf..4a811c91a3 100644
--- a/Makefile.dep
+++ b/Makefile.dep
@@ -146,6 +146,12 @@ endif
 ifneq (,$(filter gnrc_netif,$(USEMODULE)))
   USEMODULE += netif
   USEMODULE += fmt
+  ifneq (,$(filter netdev_ieee802154,$(USEMODULE)))
+    USEMODULE += gnrc_netif_ieee802154
+  endif
+  ifneq (,$(filter netdev_eth,$(USEMODULE)))
+    USEMODULE += gnrc_netif_ethernet
+  endif
 endif
 
 ifneq (,$(filter ieee802154 nrfmin,$(USEMODULE)))
diff --git a/sys/net/gnrc/Makefile b/sys/net/gnrc/Makefile
index eeae57137e..c4f287e24e 100644
--- a/sys/net/gnrc/Makefile
+++ b/sys/net/gnrc/Makefile
@@ -34,7 +34,7 @@ endif
 ifneq (,$(filter gnrc_netapi,$(USEMODULE)))
   DIRS += netapi
 endif
-ifneq (,$(filter gnrc_netif,$(USEMODULE)))
+ifneq (,$(filter gnrc_netif gnrc_netif_%,$(USEMODULE)))
     DIRS += netif
 endif
 ifneq (,$(filter gnrc_netif_hdr,$(USEMODULE)))
diff --git a/sys/net/gnrc/netif/Makefile b/sys/net/gnrc/netif/Makefile
index 02c030bd35..0077283b1f 100644
--- a/sys/net/gnrc/netif/Makefile
+++ b/sys/net/gnrc/netif/Makefile
@@ -1,3 +1,10 @@
 MODULE := gnrc_netif
 
+ifneq (,$(filter gnrc_netif_ethernet,$(USEMODULE)))
+  DIRS += ethernet
+endif
+ifneq (,$(filter gnrc_netif_ieee802154,$(USEMODULE)))
+  DIRS += ieee802154
+endif
+
 include $(RIOTBASE)/Makefile.base
diff --git a/sys/net/gnrc/netif/ethernet/Makefile b/sys/net/gnrc/netif/ethernet/Makefile
new file mode 100644
index 0000000000..fdf22f6c10
--- /dev/null
+++ b/sys/net/gnrc/netif/ethernet/Makefile
@@ -0,0 +1,3 @@
+MODULE := gnrc_netif_ethernet
+
+include $(RIOTBASE)/Makefile.base
diff --git a/sys/net/gnrc/netif/gnrc_netif_ethernet.c b/sys/net/gnrc/netif/ethernet/gnrc_netif_ethernet.c
similarity index 98%
rename from sys/net/gnrc/netif/gnrc_netif_ethernet.c
rename to sys/net/gnrc/netif/ethernet/gnrc_netif_ethernet.c
index 2ba016ddfc..c502ecb91c 100644
--- a/sys/net/gnrc/netif/gnrc_netif_ethernet.c
+++ b/sys/net/gnrc/netif/ethernet/gnrc_netif_ethernet.c
@@ -17,7 +17,6 @@
 
 #include <string.h>
 
-#ifdef MODULE_NETDEV_ETH
 #include "net/ethernet/hdr.h"
 #include "net/gnrc.h"
 #include "net/gnrc/netif/ethernet.h"
@@ -248,8 +247,5 @@ safe_out:
     gnrc_pktbuf_release(pkt);
     return NULL;
 }
-#else   /* MODULE_NETDEV_ETH */
-typedef int dont_be_pedantic;
-#endif  /* MODULE_NETDEV_ETH */
 
 /** @} */
diff --git a/sys/net/gnrc/netif/ieee802154/Makefile b/sys/net/gnrc/netif/ieee802154/Makefile
new file mode 100644
index 0000000000..83b0381d64
--- /dev/null
+++ b/sys/net/gnrc/netif/ieee802154/Makefile
@@ -0,0 +1,3 @@
+MODULE := gnrc_netif_ieee802154
+
+include $(RIOTBASE)/Makefile.base
diff --git a/sys/net/gnrc/netif/gnrc_netif_ieee802154.c b/sys/net/gnrc/netif/ieee802154/gnrc_netif_ieee802154.c
similarity index 98%
rename from sys/net/gnrc/netif/gnrc_netif_ieee802154.c
rename to sys/net/gnrc/netif/ieee802154/gnrc_netif_ieee802154.c
index 60036a4085..0a57b391ce 100644
--- a/sys/net/gnrc/netif/gnrc_netif_ieee802154.c
+++ b/sys/net/gnrc/netif/ieee802154/gnrc_netif_ieee802154.c
@@ -28,7 +28,6 @@
 #include "od.h"
 #endif
 
-#ifdef MODULE_NETDEV_IEEE802154
 static int _send(gnrc_netif_t *netif, gnrc_pktsnip_t *pkt);
 static gnrc_pktsnip_t *_recv(gnrc_netif_t *netif);
 
@@ -263,7 +262,4 @@ static int _send(gnrc_netif_t *netif, gnrc_pktsnip_t *pkt)
     gnrc_pktbuf_release(pkt);
     return res;
 }
-#else   /* MODULE_NETDEV_IEEE802154 */
-typedef int dont_be_pedantic;
-#endif  /* MODULE_NETDEV_IEEE802154 */
 /** @} */
-- 
GitLab