Index: kernel/genarch/src/drivers/ega/ega.c
===================================================================
--- kernel/genarch/src/drivers/ega/ega.c	(revision d9c11fc3ebe37a309c26053128f61ca1163937fa)
+++ kernel/genarch/src/drivers/ega/ega.c	(revision 712c4bac34d2d8ac8d7e35e7e48ff1c293c0ffb8)
@@ -40,6 +40,6 @@
 #include <mm/as.h>
 #include <mm/slab.h>
+#include <synch/mutex.h>
 #include <arch/mm/page.h>
-#include <synch/spinlock.h>
 #include <typedefs.h>
 #include <arch/asm.h>
@@ -63,5 +63,5 @@
 
 typedef struct {
-	IRQ_SPINLOCK_DECLARE(lock);
+	mutex_t mtx;
 	
 	uint32_t cursor;
@@ -540,5 +540,5 @@
 	ega_instance_t *instance = (ega_instance_t *) dev->data;
 	
-	irq_spinlock_lock(&instance->lock, true);
+	mutex_lock(&instance->mtx);
 	
 	switch (ch) {
@@ -563,5 +563,5 @@
 	ega_move_cursor(instance, silent);
 	
-	irq_spinlock_unlock(&instance->lock, true);
+	mutex_unlock(&instance->mtx);
 }
 
@@ -570,5 +570,5 @@
 	ega_instance_t *instance = (ega_instance_t *) dev->data;
 	
-	irq_spinlock_lock(&instance->lock, true);
+	mutex_lock(&instance->mtx);
 	
 	memcpy(instance->addr, instance->backbuf, EGA_VRAM_SIZE);
@@ -576,5 +576,5 @@
 	ega_show_cursor(instance, silent);
 	
-	irq_spinlock_unlock(&instance->lock, true);
+	mutex_unlock(&instance->mtx);
 }
 
@@ -594,5 +594,5 @@
 	egadev->data = instance;
 	
-	irq_spinlock_initialize(&instance->lock, "*ega.instance.lock");
+	mutex_initialize(&instance->mtx, MUTEX_PASSIVE);
 	
 	instance->base = base;
