Implement (half) simple semaphore & mutex lock, and ...
[lunaix-os.git] / lunaix-os / includes / lunaix / peripheral / ps2kbd.h
index a63ffdc5690b97c3fe71937cfe9f4e4dc9a7570f..d373aa8efaf9e86b2c04a0fa82a4468f16bd0ed4 100644 (file)
@@ -3,6 +3,8 @@
 
 #include <hal/io.h>
 #include <lunaix/keyboard.h>
+#include <lunaix/ds/mutex.h>
+
 
 #define PS2_PORT_ENC_DATA 0x60
 #define PS2_PORT_ENC_CMDREG 0x60
@@ -64,16 +66,14 @@ struct ps2_cmd_queue {
     struct ps2_cmd cmd_queue[PS2_CMD_QUEUE_SIZE];
     int queue_ptr;
     int queue_len;
-    // FIXME: replace lock with something specialized.
-    volatile char lock;
+    mutex_t mutex;
 };
 
 struct ps2_key_buffer {
     struct kdb_keyinfo_pkt buffer[PS2_KBD_RECV_BUFFER_SIZE];
     int read_ptr;
     int buffered_len;
-    // FIXME: replace lock with something specialized.
-    volatile char lock;
+    mutex_t mutex;
 };
 
 /**