Index: kernel/arch/sparc64/src/drivers/kbd.c
===================================================================
--- kernel/arch/sparc64/src/drivers/kbd.c	(revision ff685c93ca4666ba47a3b747bd9da4268cc5aa47)
+++ kernel/arch/sparc64/src/drivers/kbd.c	(revision 3014e2b2dbd2a91eca5a7cd089b6f4e0352ffda0)
@@ -35,10 +35,16 @@
 #include <arch/drivers/kbd.h>
 #include <genarch/ofw/ofw_tree.h>
+
+#ifdef CONFIG_SUN_KBD
+#include <genarch/kbrd/kbrd.h>
+#endif
 #ifdef CONFIG_Z8530
-#include <genarch/kbd/z8530.h>
+#include <genarch/drivers/z8530/z8530.h>
 #endif
 #ifdef CONFIG_NS16550
-#include <genarch/kbd/ns16550.h>
-#endif
+#include <genarch/drivers/ns16550/ns16550.h>
+#endif
+
+#include <console/console.h>
 #include <ddi/device.h>
 #include <ddi/irq.h>
@@ -160,5 +166,6 @@
 		z8530 = (z8530_t *) hw_map(aligned_addr, offset + size) +
 		    offset;
-		(void) z8530_init(z8530, devno, inr, cir, cir_arg);
+		kbrd_init(stdin);
+		(void) z8530_init(z8530, devno, inr, cir, cir_arg, &kbrdin);
 		
 		/*
@@ -180,5 +187,6 @@
 		ns16550 = (ns16550_t *) hw_map(aligned_addr, offset + size) +
 		    offset;
-		(void) ns16550_init(ns16550, devno, inr, cir, cir_arg);
+		kbrd_init(stdin);
+		(void) ns16550_init(ns16550, devno, inr, cir, cir_arg, &kbrdin);
 		
 		/*
