From e655137d7235bdc6af69a13e61495fe7931f89b8 Mon Sep 17 00:00:00 2001
From: Kaspar Schleiser <kaspar@schleiser.de>
Date: Fri, 8 May 2015 15:47:11 +0200
Subject: [PATCH] sys: auto_init: introduce new auto initialization scheme for
 network interfaces

---
 sys/Makefile.include           |  3 ---
 sys/auto_init/Makefile         |  4 ++++
 sys/auto_init/Makefile.include | 13 -------------
 sys/auto_init/auto_init.c      |  4 ----
 sys/auto_init/netif/Makefile   |  3 +++
 sys/include/auto_init.h        | 16 ----------------
 6 files changed, 7 insertions(+), 36 deletions(-)
 delete mode 100644 sys/auto_init/Makefile.include
 create mode 100644 sys/auto_init/netif/Makefile

diff --git a/sys/Makefile.include b/sys/Makefile.include
index ca3bce1556..ee40a88f82 100644
--- a/sys/Makefile.include
+++ b/sys/Makefile.include
@@ -1,6 +1,3 @@
-ifneq (,$(filter auto_init,$(USEMODULE)))
-    include $(RIOTBASE)/sys/auto_init/Makefile.include
-endif
 ifneq (,$(filter nomac,$(USEMODULE)))
     USEMODULE_INCLUDES += $(RIOTBASE)/sys/net/include
 endif
diff --git a/sys/auto_init/Makefile b/sys/auto_init/Makefile
index 68b09798d5..f4594496de 100644
--- a/sys/auto_init/Makefile
+++ b/sys/auto_init/Makefile
@@ -8,4 +8,8 @@ endif
 
 DIRS += $(AUTO_INIT_MODULES)
 
+ifneq (,$(filter auto_init_ng_netif,$(USEMODULE)))
+DIRS += netif
+endif
+
 include $(RIOTBASE)/Makefile.base
diff --git a/sys/auto_init/Makefile.include b/sys/auto_init/Makefile.include
deleted file mode 100644
index 6a86833666..0000000000
--- a/sys/auto_init/Makefile.include
+++ /dev/null
@@ -1,13 +0,0 @@
-# try to find the ng_netif auto init implementation in the application or in
-# the board, respectively. If it is not found, nothing is called.
-ifneq (,$(filter ng_netif,$(USEMODULE)))
-  ifneq (,$(wildcard $(APPDIR)/auto_init_ng_netif/*))
-    export AUTO_INIT_MODULES += $(APPDIR)/auto_init_ng_netif
-    export USEMODULE += auto_init_ng_netif
-  else
-    ifneq (,$(wildcard $(RIOTBOARD)/$(BOARD)/auto_init_ng_netif/*))
-      export AUTO_INIT_MODULES += $(RIOTBOARD)/$(BOARD)/auto_init_ng_netif
-      export USEMODULE += auto_init_ng_netif
-    endif
-  endif
-endif
diff --git a/sys/auto_init/auto_init.c b/sys/auto_init/auto_init.c
index b83f2bf23d..a7ed09f13d 100644
--- a/sys/auto_init/auto_init.c
+++ b/sys/auto_init/auto_init.c
@@ -306,8 +306,4 @@ void auto_init(void)
     DEBUG("Auto init UDP module.\n");
     ng_udp_init();
 #endif
-#ifdef MODULE_AUTO_INIT_NG_NETIF
-    DEBUG("Auto init network interfaces.\n");
-    auto_init_ng_netif();
-#endif
 }
diff --git a/sys/auto_init/netif/Makefile b/sys/auto_init/netif/Makefile
new file mode 100644
index 0000000000..3003ef2f53
--- /dev/null
+++ b/sys/auto_init/netif/Makefile
@@ -0,0 +1,3 @@
+MODULE = auto_init_ng_netif
+
+include $(RIOTBASE)/Makefile.base
diff --git a/sys/include/auto_init.h b/sys/include/auto_init.h
index d27e608b3a..b957fe8d68 100644
--- a/sys/include/auto_init.h
+++ b/sys/include/auto_init.h
@@ -49,22 +49,6 @@ extern "C" {
  */
 void auto_init(void);
 
-/**
- * @brief Initialize network interfaces and register them with ng_netif
- *
- *        This function must be implemented in the board or in the application,
- *        in a subfolder that must be named auto_init_ng_netif
- *        This function is called under two conditions:
- *          1. the ng_netif module is used (USEMODULE contains ng_netif)
- *          2. the board or the application contains a subfolder called
- *             auto_init_ng_netif
- *        If the board and the application both contain the mentioned subfolder,
- *        the contents from the applications subfolder have a higher priority
- *        and will be compiled and linked, while the board's subfolder is then
- *        ignored.
- */
-void auto_init_ng_netif(void);
-
 #ifdef __cplusplus
 }
 #endif
-- 
GitLab