Index: uspace/srv/rd/rd.c
===================================================================
--- uspace/srv/rd/rd.c	(revision c5747fed053576a6a75fe794c2cce48244874acc)
+++ uspace/srv/rd/rd.c	(revision c00589d744b4c2f8becc2dd1223b865d10f1e238)
@@ -53,5 +53,5 @@
 #include <futex.h>
 #include <stdio.h>
-#include <ipc/devmap.h>
+#include <devmap.h>
 #include <ipc/bd.h>
 
@@ -181,64 +181,4 @@
 }
 
-static int driver_register(char *name)
-{
-	ipcarg_t retval;
-	aid_t req;
-	ipc_call_t answer;
-	int phone;
-	ipcarg_t callback_phonehash;
-
-	phone = ipc_connect_me_to_blocking(PHONE_NS, SERVICE_DEVMAP, DEVMAP_DRIVER, 0);
-	if (phone < 0) {
-		printf(NAME ": Failed to connect to device mapper\n");
-		return -1;
-	}
-	
-	req = async_send_2(phone, DEVMAP_DRIVER_REGISTER, 0, 0, &answer);
-
-	retval = ipc_data_write_start(phone, (char *) name, str_size(name) + 1);
-
-	if (retval != EOK) {
-		async_wait_for(req, NULL);
-		return -1;
-	}
-
-	async_set_client_connection(rd_connection);
-
-	ipc_connect_to_me(phone, 0, 0, 0, &callback_phonehash);
-	async_wait_for(req, &retval);
-
-	return phone;
-}
-
-static int device_register(int driver_phone, char *name, int *handle)
-{
-	ipcarg_t retval;
-	aid_t req;
-	ipc_call_t answer;
-
-	req = async_send_2(driver_phone, DEVMAP_DEVICE_REGISTER, 0, 0, &answer);
-
-	retval = ipc_data_write_start(driver_phone, (char *) name,
-	    str_size(name) + 1);
-
-	if (retval != EOK) {
-		async_wait_for(req, NULL);
-		return retval;
-	}
-
-	async_wait_for(req, &retval);
-
-	if (handle != NULL)
-		*handle = -1;
-	
-	if (EOK == retval) {
-		if (NULL != handle)
-			*handle = (int) IPC_GET_ARG1(answer);
-	}
-	
-	return retval;
-}
-
 /** Prepare the ramdisk image for operation. */
 static bool rd_init(void)
@@ -265,5 +205,5 @@
 	printf(NAME ": Found RAM disk at %p, %d bytes\n", rd_ph_addr, rd_size);
 	
-	int driver_phone = driver_register(NAME);
+	int driver_phone = devmap_driver_register(NAME, rd_connection);
 	if (driver_phone < 0) {
 		printf(NAME ": Unable to register driver\n");
@@ -272,5 +212,5 @@
 	
 	int dev_handle;
-	if (EOK != device_register(driver_phone, "initrd", &dev_handle)) {
+	if (devmap_device_register(driver_phone, "initrd", &dev_handle) != EOK) {
 		ipc_hangup(driver_phone);
 		printf(NAME ": Unable to register device\n");
@@ -284,5 +224,5 @@
 	 * be created dynamically...
 	 */
-	if (EOK != device_register(driver_phone, "spared", &dev_handle)) {
+	if (devmap_device_register(driver_phone, "spared", &dev_handle) != EOK) {
 		ipc_hangup(driver_phone);
 		printf(NAME ": Unable to register device\n");
Index: uspace/srv/vfs/vfs.h
===================================================================
--- uspace/srv/vfs/vfs.h	(revision c5747fed053576a6a75fe794c2cce48244874acc)
+++ uspace/srv/vfs/vfs.h	(revision c00589d744b4c2f8becc2dd1223b865d10f1e238)
@@ -39,4 +39,5 @@
 #include <rwlock.h>
 #include <sys/types.h>
+#include <devmap.h>
 #include <bool.h>
 
@@ -50,5 +51,4 @@
 /* Basic types. */
 typedef int16_t fs_handle_t;
-typedef int16_t dev_handle_t;
 typedef uint32_t fs_index_t;
 
