Index: kernel/genarch/include/drivers/dsrln/dsrlnout.h
===================================================================
--- kernel/genarch/include/drivers/dsrln/dsrlnout.h	(revision e731b0db7a19a49197d3ed700a60c8131857f598)
+++ kernel/genarch/include/drivers/dsrln/dsrlnout.h	(revision 6c3d54e1f70df46dc346eac07c6b3fad28dcf73d)
@@ -40,6 +40,7 @@
 #include <arch/types.h>
 #include <typedefs.h>
+#include <console/chardev.h>
 
-extern void dsrlnout_init(ioport8_t *);
+extern outdev_t *dsrlnout_init(ioport8_t *);
 
 #endif
Index: kernel/genarch/include/drivers/ega/ega.h
===================================================================
--- kernel/genarch/include/drivers/ega/ega.h	(revision e731b0db7a19a49197d3ed700a60c8131857f598)
+++ kernel/genarch/include/drivers/ega/ega.h	(revision 6c3d54e1f70df46dc346eac07c6b3fad28dcf73d)
@@ -38,4 +38,5 @@
 #include <arch/types.h>
 #include <typedefs.h>
+#include <console/chardev.h>
 
 #define EGA_COLS       80
@@ -48,6 +49,5 @@
 #define EGA_DATA_REG   1
 
-extern void ega_redraw(void);
-extern void ega_init(ioport8_t *, uintptr_t);
+extern outdev_t *ega_init(ioport8_t *, uintptr_t);
 
 #endif
Index: kernel/genarch/include/fb/fb.h
===================================================================
--- kernel/genarch/include/fb/fb.h	(revision e731b0db7a19a49197d3ed700a60c8131857f598)
+++ kernel/genarch/include/fb/fb.h	(revision 6c3d54e1f70df46dc346eac07c6b3fad28dcf73d)
@@ -37,5 +37,6 @@
 
 #include <arch/types.h>
-#include <synch/spinlock.h>
+#include <console/chardev.h>
+#include <genarch/fb/visuals.h>
 
 /**
@@ -45,5 +46,5 @@
 	/** Physical address of the framebuffer device. */
 	uintptr_t addr;
-
+	
 	/**
 	 * Address where the first (top left) pixel is mapped,
@@ -51,22 +52,19 @@
 	 */
 	unsigned int offset;
-
+	
 	/** Screen width in pixels. */
 	unsigned int x;
-
+	
 	/** Screen height in pixels. */
 	unsigned int y;
-
+	
 	/** Bytes per one scanline. */
 	unsigned int scan;
-
+	
 	/** Color model. */
-	unsigned int visual;
+	visual_t visual;
 } fb_properties_t;
 
-SPINLOCK_EXTERN(fb_lock);
-
-void fb_redraw(void);
-bool fb_init(fb_properties_t *props);
+outdev_t *fb_init(fb_properties_t *props);
 
 #endif
