Index: kernel/generic/src/console/chardev.c
===================================================================
--- kernel/generic/src/console/chardev.c	(revision ebb35382370c13619311861065e5a3add01e3abe)
+++ kernel/generic/src/console/chardev.c	(revision 78acbc721cee3d7063c5c7c8adbf897587243cb1)
@@ -52,5 +52,5 @@
 {
 	indev->name = name;
-	waitq_initialize(&indev->wq);
+	semaphore_initialize(&indev->wq, 0);
 	irq_spinlock_initialize(&indev->lock, "chardev.indev.lock");
 	indev->counter = 0;
@@ -81,5 +81,5 @@
 	/* Index modulo size of buffer */
 	indev->index = indev->index % INDEV_BUFLEN;
-	waitq_wakeup(&indev->wq, WAKEUP_FIRST);
+	semaphore_up(&indev->wq);
 	irq_spinlock_unlock(&indev->lock, true);
 }
@@ -115,5 +115,5 @@
 	}
 
-	waitq_sleep(&indev->wq);
+	semaphore_down(&indev->wq);
 	irq_spinlock_lock(&indev->lock, true);
 	char32_t ch = indev->buffer[(indev->index - indev->counter) %
