feat: owloysius - dynamic init function invocator
[lunaix-os.git] / lunaix-os / kernel / tty / lxconsole.c
index 0bcb9b71213e015471405fcfee4dccffc4be1a80..cf2d43c4e15d195b428fa97e7cedc859e882e0ec 100644 (file)
@@ -343,7 +343,7 @@ console_start_flushing()
 static int
 lxconsole_spawn_ttydev(struct device_def* devdef)
 {
 static int
 lxconsole_spawn_ttydev(struct device_def* devdef)
 {
-    struct device* tty_dev = device_addseq(NULL, &lx_console, "tty");
+    struct device* tty_dev = device_allocseq(NULL, &lx_console);
     tty_dev->ops.write = __tty_write;
     tty_dev->ops.write_page = __tty_write_pg;
     tty_dev->ops.read = __tty_read;
     tty_dev->ops.write = __tty_write;
     tty_dev->ops.write_page = __tty_write_pg;
     tty_dev->ops.read = __tty_read;
@@ -353,11 +353,15 @@ lxconsole_spawn_ttydev(struct device_def* devdef)
     waitq_init(&lx_reader);
     input_add_listener(__lxconsole_listener);
 
     waitq_init(&lx_reader);
     input_add_listener(__lxconsole_listener);
 
+    register_device(tty_dev, &devdef->class, "vcon");
+
     return 0;
 }
 
 static struct device_def lxconsole_def = {
     return 0;
 }
 
 static struct device_def lxconsole_def = {
-    .class = DEVCLASS(DEVIF_NON, DEVFN_TTY, DEV_BUILTIN, 0),
+    .name = "Lunaix Virtual Console",
+    .class = DEVCLASSV(DEVIF_NON, DEVFN_TTY, DEV_BUILTIN, 12),
     .init = lxconsole_spawn_ttydev
 };
     .init = lxconsole_spawn_ttydev
 };
-EXPORT_DEVICE(lxconsole, &lxconsole_def, load_earlystage);
\ No newline at end of file
+// FIXME
+EXPORT_DEVICE(lxconsole, &lxconsole_def, load_onboot);
\ No newline at end of file