From 144a0700f54ede83364094eca21fbc467e5a1041 Mon Sep 17 00:00:00 2001
From: Vincent Dupont <vincent@otakeys.com>
Date: Wed, 23 Nov 2016 19:05:35 +0100
Subject: [PATCH] can: add autoinit basic support

---
 Makefile.dep                      |  1 +
 sys/auto_init/Makefile            |  4 ++++
 sys/auto_init/auto_init.c         |  8 ++++++++
 sys/auto_init/can/Makefile        |  3 +++
 sys/auto_init/can/auto_init_can.c | 32 +++++++++++++++++++++++++++++++
 5 files changed, 48 insertions(+)
 create mode 100644 sys/auto_init/can/Makefile
 create mode 100644 sys/auto_init/can/auto_init_can.c

diff --git a/Makefile.dep b/Makefile.dep
index a49ef30358..19bac93931 100644
--- a/Makefile.dep
+++ b/Makefile.dep
@@ -568,6 +568,7 @@ endif
 
 ifneq (,$(filter can,$(USEMODULE)))
   USEMODULE += can_raw
+  USEMODULE += auto_init_can
   ifneq (,$(filter can_mbox,$(USEMODULE)))
     USEMODULE += core_mbox
   endif
diff --git a/sys/auto_init/Makefile b/sys/auto_init/Makefile
index 3328c84438..9ea42ebab8 100644
--- a/sys/auto_init/Makefile
+++ b/sys/auto_init/Makefile
@@ -12,4 +12,8 @@ ifneq (,$(filter auto_init_storage,$(USEMODULE)))
 DIRS += storage
 endif
 
+ifneq (,$(filter auto_init_can,$(USEMODULE)))
+DIRS += can
+endif
+
 include $(RIOTBASE)/Makefile.base
diff --git a/sys/auto_init/auto_init.c b/sys/auto_init/auto_init.c
index c6644a5079..7b6bcb7afa 100644
--- a/sys/auto_init/auto_init.c
+++ b/sys/auto_init/auto_init.c
@@ -361,4 +361,12 @@ void auto_init(void)
 #endif
 
 #endif /* MODULE_AUTO_INIT_STORAGE */
+
+#ifdef MODULE_AUTO_INIT_CAN
+    DEBUG("auto_init CAN\n");
+
+    extern void auto_init_candev(void);
+    auto_init_candev();
+
+#endif /* MODULE_AUTO_INIT_CAN */
 }
diff --git a/sys/auto_init/can/Makefile b/sys/auto_init/can/Makefile
new file mode 100644
index 0000000000..af49afadae
--- /dev/null
+++ b/sys/auto_init/can/Makefile
@@ -0,0 +1,3 @@
+MODULE = auto_init_can
+
+include $(RIOTBASE)/Makefile.base
diff --git a/sys/auto_init/can/auto_init_can.c b/sys/auto_init/can/auto_init_can.c
new file mode 100644
index 0000000000..93eb48774e
--- /dev/null
+++ b/sys/auto_init/can/auto_init_can.c
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2016 OTA keys S.A.
+ *
+ * This file is subject to the terms and conditions of the GNU Lesser
+ * General Public License v2.1. See the file LICENSE in the top level
+ * directory for more details.
+ */
+
+/**
+ * @ingroup auto_init
+ * @{
+ * @file
+ * @brief       initializes can device init function
+ *
+ * @author      Toon Stegen <toon.stegen@altran.com>
+ * @author      Vincent Dupont <vincent@otakeys.com>
+ * @author      Aurelien Gonce <aurelien.gonce@altran.com>
+ * @}
+ */
+
+#include <stdio.h>
+
+#define ENABLE_DEBUG (0)
+#include "debug.h"
+
+#include "can/dll.h"
+
+void auto_init_candev(void)
+{
+    DEBUG("auto_init_can: init dll\n");
+    can_dll_init();
+}
-- 
GitLab