Index: kernel/arch/sparc64/src/console.c
===================================================================
--- kernel/arch/sparc64/src/console.c	(revision 2b017ba3f7b12c023121e41aca02b7d6bf2bdade)
+++ kernel/arch/sparc64/src/console.c	(revision 95b355086cd805dc6f9cc96f44fa2ef92cecd8b5)
@@ -106,6 +106,10 @@
 
 #ifdef CONFIG_Z8530
-	if (kbd_type == KBD_Z8530)
+	if (kbd_type == KBD_Z8530) {
+		/*
+		 * The z8530 driver is interrupt-driven.
+		 */
 		return;
+	}
 #endif
 
@@ -124,8 +128,18 @@
 void arch_grab_console(void)
 {
+	switch (kbd_type) {
 #ifdef CONFIG_Z8530
-	if (kbd_type == KBD_Z8530)
+	case KBD_Z8530:
 		z8530_grab();
+		break;
 #endif
+#ifdef CONFIG_NS16550
+	case KBD_NS16550:
+		ns16550_grab();
+		break;
+#endif
+	default:
+		break;
+	}
 }
 
@@ -135,8 +149,18 @@
 void arch_release_console(void)
 {
+	switch (kbd_type) {
 #ifdef CONFIG_Z8530
-	if (kbd_type == KBD_Z8530)
+	case KBD_Z8530:
 		z8530_release();
+		break;
 #endif
+#ifdef CONFIG_NS16550
+	case KBD_NS16550:
+		ns16550_release();
+		break;
+#endif
+	default:
+		break;
+	}
 }
 
