feat: input device subsystem to resolve race condition on polling input
[lunaix-os.git] / lunaix-os / kernel / k_init.c
index a443ec039a724cfb575bbcfcd63ddebfdc33d4ae..b7c5668bd68ce2cb26bd9485381f0efe85e6effd 100644 (file)
@@ -3,6 +3,7 @@
 
 #include <lunaix/device.h>
 #include <lunaix/foptions.h>
 
 #include <lunaix/device.h>
 #include <lunaix/foptions.h>
+#include <lunaix/input.h>
 #include <lunaix/lxconsole.h>
 #include <lunaix/mm/page.h>
 #include <lunaix/mm/pmm.h>
 #include <lunaix/lxconsole.h>
 #include <lunaix/mm/page.h>
 #include <lunaix/mm/pmm.h>
@@ -72,10 +73,9 @@ _kernel_init()
     cake_init();
     valloc_init();
 
     cake_init();
     valloc_init();
 
-    lxconsole_init();
-
     vfs_init();
     fsm_init();
     vfs_init();
     fsm_init();
+    input_init();
 
     if ((errno = vfs_mount_root("ramfs", NULL))) {
         panickf("Fail to mount root. (errno=%d)", errno);
 
     if ((errno = vfs_mount_root("ramfs", NULL))) {
         panickf("Fail to mount root. (errno=%d)", errno);
@@ -84,6 +84,8 @@ _kernel_init()
     vfs_mount("/dev", "devfs", NULL, 0);
     vfs_mount("/sys", "twifs", NULL, MNT_RO);
 
     vfs_mount("/dev", "devfs", NULL, 0);
     vfs_mount("/sys", "twifs", NULL, MNT_RO);
 
+    lxconsole_init();
+
     sched_init();
 
     spawn_proc0();
     sched_init();
 
     spawn_proc0();