Index: kernel/arch/amd64/src/amd64.c
===================================================================
--- kernel/arch/amd64/src/amd64.c	(revision 5030acadeab877d574032b6cbe0e3a5f0551de90)
+++ kernel/arch/amd64/src/amd64.c	(revision 6bbe470e275a3b9a63f777eb4b7ae8586c4ec665)
@@ -55,5 +55,4 @@
 #include <genarch/kbrd/kbrd.h>
 #include <genarch/srln/srln.h>
-#include <genarch/drivers/dsrln/dsrlnout.h>
 #include <genarch/multiboot/multiboot.h>
 #include <genarch/multiboot/multiboot2.h>
@@ -219,12 +218,12 @@
 #endif
 
-#ifdef CONFIG_NS16550
+#if (defined(CONFIG_NS16550) || defined(CONFIG_NS16550_OUT))
 	/*
-	 * Initialize the ns16550 controller. Then initialize the serial
-	 * input module and connect it to ns16550.
+	 * Initialize the ns16550 controller.
 	 */
 	ns16550_instance_t *ns16550_instance
 	    = ns16550_init((ns16550_t *) NS16550_BASE, IRQ_NS16550, NULL, NULL);
 	if (ns16550_instance) {
+#ifdef CONFIG_NS16550
 		srln_instance_t *srln_instance = srln_init();
 		if (srln_instance) {
@@ -234,14 +233,11 @@
 			trap_virtual_enable_irqs(1 << IRQ_NS16550);
 		}
-	}
-#endif
-
-#ifdef CONFIG_NS16550_DSRLNOUT
-	/*
-	 * Initialize dummy serial output to the ns16550.
-	 */
-	outdev_t *dsrlndev = dsrlnout_init(NS16550_BASE);
-	if (dsrlndev) {
-		stdout_wire(dsrlndev);
+#endif
+#ifdef CONFIG_NS16550_OUT
+		outdev_t *ns16550_out = ns16550_output(ns16550_instance);
+		if (ns16550_out) {
+			stdout_wire(ns16550_out);
+		}
+#endif
 	}
 #endif
