Index: kernel/genarch/src/drivers/ega/ega.c
===================================================================
--- kernel/genarch/src/drivers/ega/ega.c	(revision 63b549313102c34a11e5e6a2199064645b0d6eab)
+++ kernel/genarch/src/drivers/ega/ega.c	(revision b6f3e7e89f35903bd2012ad022ef70b966d8b246)
@@ -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;
Index: kernel/genarch/src/fb/fb.c
===================================================================
--- kernel/genarch/src/fb/fb.c	(revision 63b549313102c34a11e5e6a2199064645b0d6eab)
+++ kernel/genarch/src/fb/fb.c	(revision b6f3e7e89f35903bd2012ad022ef70b966d8b246)
@@ -80,5 +80,5 @@
 
 typedef struct {
-	SPINLOCK_DECLARE(lock);
+	mutex_t mtx;
 	
 	uint8_t *addr;
@@ -365,5 +365,5 @@
 {
 	fb_instance_t *instance = (fb_instance_t *) dev->data;
-	spinlock_lock(&instance->lock);
+	mutex_lock(&instance->mtx);
 	
 	switch (ch) {
@@ -406,5 +406,5 @@
 	cursor_put(instance, silent);
 	
-	spinlock_unlock(&instance->lock);
+	mutex_unlock(&instance->mtx);
 }
 
@@ -473,7 +473,7 @@
 	fb_instance_t *instance = (fb_instance_t *) dev->data;
 	
-	spinlock_lock(&instance->lock);
+	mutex_lock(&instance->mtx);
 	fb_redraw_internal(instance);
-	spinlock_unlock(&instance->lock);
+	mutex_unlock(&instance->mtx);
 }
 
@@ -554,5 +554,5 @@
 	fbdev->data = instance;
 	
-	spinlock_initialize(&instance->lock, "*fb.instance.lock");
+	mutex_initialize(&instance->mtx, MUTEX_PASSIVE);
 	instance->rgb_conv = rgb_conv;
 	instance->pixelbytes = pixelbytes;
