mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
sys/auto-init: added mechanism to init network ifs
This commit is contained in:
parent
56cce19578
commit
a4358bfdee
@ -1,3 +1,6 @@
|
||||
ifneq (,$(filter auto_init,$(USEMODULE)))
|
||||
include $(RIOTBASE)/sys/auto_init/Makefile.include
|
||||
endif
|
||||
ifneq (,$(filter nomac,$(USEMODULE)))
|
||||
USEMODULE_INCLUDES += $(RIOTBASE)/sys/net/include
|
||||
endif
|
||||
|
@ -6,4 +6,6 @@ ifneq (,$(filter nomac,$(USEMODULE)))
|
||||
INCLUDES += -I$(RIOTBASE)/sys/net/include/
|
||||
endif
|
||||
|
||||
DIRS += $(AUTO_INIT_MODULES)
|
||||
|
||||
include $(RIOTBASE)/Makefile.base
|
||||
|
13
sys/auto_init/Makefile.include
Normal file
13
sys/auto_init/Makefile.include
Normal file
@ -0,0 +1,13 @@
|
||||
# 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
|
@ -12,6 +12,7 @@
|
||||
* @file auto_init_c
|
||||
* @brief initializes any used module that has a trivial init function
|
||||
* @author Oliver Hahm <oliver.hahm@inria.fr>
|
||||
* @author Hauke Petersen <hauke.petersen@fu-berlin.de>
|
||||
* @}
|
||||
*/
|
||||
#include <stdint.h>
|
||||
@ -304,4 +305,8 @@ 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
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2010 Freie Universität Berlin
|
||||
* Copyright (C) 2010,2015 Freie Universität Berlin
|
||||
* Copyright (C) 2010 Kaspar Schleiser
|
||||
* Copyright (C) 2013 INRIA
|
||||
*
|
||||
@ -27,6 +27,10 @@
|
||||
* @{
|
||||
*
|
||||
* @file auto_init.h
|
||||
*
|
||||
* @author Kaspar Schleiser <kaspar@schleiser.de>
|
||||
* @author Oliver Hahm <oliver.hahm@inria.fr>
|
||||
* @author Hauke Petersen <hauke.petersen@fu-berlin.de>
|
||||
*/
|
||||
|
||||
#ifndef AUTO_INIT_H
|
||||
@ -45,6 +49,22 @@ 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
|
||||
|
Loading…
Reference in New Issue
Block a user