rewrite the device subsystem interfaces (#48)
[lunaix-os.git] / lunaix-os / arch / x86 / hal / ps2kbd.c
index f0d3ba4aca0dcd0abd3a8bf07981153a26c1ce4b..ee4a67e0f99855acb884cd8fc5b87fe386ddcea6 100644 (file)
@@ -1,18 +1,18 @@
 #include <lunaix/clock.h>
 #include <lunaix/ds/mutex.h>
 #include <lunaix/input.h>
-#include <lunaix/generic/isrm.h>
 #include <lunaix/keyboard.h>
 #include <lunaix/syslog.h>
 #include <lunaix/timer.h>
 #include <lunaix/hart_state.h>
 
-#include "sys/x86_isa.h"
+#include "asm/x86.h"
 
 #include <klibc/string.h>
 
-#include <sys/cpu.h>
-#include <sys/port_io.h>
+#include "asm/x86_cpu.h"
+#include <asm/x86_isrm.h>
+#include <asm/x86_pmio.h>
 
 #define PS2_PORT_ENC_DATA 0x60
 #define PS2_PORT_ENC_CMDREG 0x60
@@ -215,7 +215,7 @@ ps2_device_post_cmd(char cmd, char arg)
 }
 
 static int
-ps2_kbd_init(struct device_def* devdef)
+ps2_kbd_create(struct device_def* devdef, morph_t* obj)
 {
 
     memset(&cmd_q, 0, sizeof(cmd_q));
@@ -569,8 +569,8 @@ ps2_issue_dev_cmd(char cmd, u16_t arg)
 }
 
 static struct device_def devrtc_i8042kbd = {
-    .name = "i8042 Keyboard",
-    .class = DEVCLASS(DEVIF_SOC, DEVFN_INPUT, DEV_KBD),
-    .init = ps2_kbd_init
+    def_device_class(INTEL, INPUT, KBD),
+    def_device_name("i8042 Keyboard"),
+    def_on_create(ps2_kbd_create)
 };
 EXPORT_DEVICE(i8042_kbd, &devrtc_i8042kbd, load_onboot);