Index: kernel/genarch/include/genarch/drivers/ns16550/ns16550.h
===================================================================
--- kernel/genarch/include/genarch/drivers/ns16550/ns16550.h	(revision 88a0f58ef0fc9c067c9ff215fb6d25e1b4eefe46)
+++ kernel/genarch/include/genarch/drivers/ns16550/ns16550.h	(revision 26cf7a62652ccbb33446b3b1dd9d3ff44eb9a194)
@@ -38,4 +38,5 @@
 #define KERN_NS16550_H_
 
+#include <ddi/ddi.h>
 #include <ddi/irq.h>
 #include <typedefs.h>
@@ -50,5 +51,8 @@
 /** NS16550 registers. */
 typedef struct {
-	ioport8_t rbr;      /**< Receiver Buffer Register. */
+	union {
+		ioport8_t rbr;      /**< Receiver Buffer Register (read). */
+		ioport8_t thr;      /**< Transmitter Holder Register (write). */
+	} __attribute__ ((packed));
 	ioport8_t ier;      /**< Interrupt Enable Register. */
 	union {
@@ -65,8 +69,11 @@
 	irq_t irq;
 	ns16550_t *ns16550;
-	indev_t *kbrdin;
+	indev_t *input;
+	outdev_t *output;
+	parea_t parea;
 } ns16550_instance_t;
 
-extern ns16550_instance_t *ns16550_init(ns16550_t *, inr_t, cir_t, void *);
+extern ns16550_instance_t *ns16550_init(ns16550_t *, inr_t, cir_t, void *,
+    outdev_t **);
 extern void ns16550_wire(ns16550_instance_t *, indev_t *);
 
