Index: uspace/drv/char/i8042/i8042.c
===================================================================
--- uspace/drv/char/i8042/i8042.c	(revision 78aa0abd998668e0ed1e36c0d6015a74837a40d8)
+++ uspace/drv/char/i8042/i8042.c	(revision dd28c1ade674392a7fe63d8f8aaf61c72a2ac912)
@@ -102,7 +102,8 @@
 static i8042_dev_t device;
 
-static void wait_ready(void)
-{
-	while (pio_read_8(&device.regs->status) & i8042_INPUT_FULL);
+static void wait_ready(i8042_dev_t *dev)
+{
+	assert(dev);
+	while (pio_read_8(&dev->regs->status) & i8042_INPUT_FULL);
 }
 
@@ -110,5 +111,5 @@
 static void i8042_connection(ipc_callid_t iid, ipc_call_t *icall, void *arg);
 static int i8042_init(i8042_dev_t *dev);
-static void i8042_port_write(int devid, uint8_t data);
+static void i8042_port_write(i8042_dev_t *dev, int devid, uint8_t data);
 
 
@@ -179,7 +180,7 @@
 	
 	/* Disable kbd and aux */
-	wait_ready();
+	wait_ready(dev);
 	pio_write_8(&dev->regs->status, i8042_CMD_WRITE_CMDB);
-	wait_ready();
+	wait_ready(dev);
 	pio_write_8(&dev->regs->data, i8042_KBD_DISABLE | i8042_AUX_DISABLE);
 
@@ -195,7 +196,7 @@
 	    NAME, inr_a, inr_b);
 
-	wait_ready();
+	wait_ready(dev);
 	pio_write_8(&dev->regs->status, i8042_CMD_WRITE_CMDB);
-	wait_ready();
+	wait_ready(dev);
 	pio_write_8(&dev->regs->data, i8042_KBD_IE | i8042_KBD_TRANSLATE |
 	    i8042_AUX_IE);
@@ -259,5 +260,5 @@
 				printf(NAME ": write %" PRIun " to devid %d\n",
 				    IPC_GET_ARG1(call), dev_id);
-				i8042_port_write(dev_id, IPC_GET_ARG1(call));
+				i8042_port_write(&device, dev_id, IPC_GET_ARG1(call));
 				retval = 0;
 				break;
@@ -272,12 +273,13 @@
 }
 
-void i8042_port_write(int devid, uint8_t data)
-{
+void i8042_port_write(i8042_dev_t *dev, int devid, uint8_t data)
+{
+	assert(dev);
 	if (devid == DEVID_AUX) {
-		wait_ready();
-		pio_write_8(&device.regs->status, i8042_CMD_WRITE_AUX);
-	}
-	wait_ready();
-	pio_write_8(&device.regs->data, data);
+		wait_ready(dev);
+		pio_write_8(&dev->regs->status, i8042_CMD_WRITE_AUX);
+	}
+	wait_ready(dev);
+	pio_write_8(&dev->regs->data, data);
 }
 
