Index: uspace/drv/root/root.c
===================================================================
--- uspace/drv/root/root.c	(revision fe2333da175feb0b278049830a4be0cfc3e3baeb)
+++ uspace/drv/root/root.c	(revision 2c5cefa897b181e123f9677daf6fc62cb602cd82)
@@ -109,58 +109,4 @@
 }
 
-/** Create virtual USB host controller device.
- * Note that the virtual HC is actually device and driver in one
- * task.
- *
- * @param parent Parent device.
- * @return Error code.
- */
-static int add_virtual_usb_host_controller(device_t *parent)
-{
-	printf(NAME ": adding virtual host contoller.\n");
-
-	int rc;
-	device_t *vhc = NULL;
-	match_id_t *match_id = NULL;
-
-	vhc = create_device();
-	if (vhc == NULL) {
-		rc = ENOMEM;
-		goto failure;
-	}
-
-	vhc->name = "vhc";
-	printf(NAME ": the new device's name is %s.\n", vhc->name);
-
-	/* Initialize match id list. */
-	match_id = create_match_id();
-	if (match_id == NULL) {
-		rc = ENOMEM;
-		goto failure;
-	}
-
-	match_id->id = "usb&hc=vhc";
-	match_id->score = 100;
-	add_match_id(&vhc->match_ids, match_id);
-
-	/* Register child device. */
-	rc = child_device_register(vhc, parent);
-	if (rc != EOK)
-		goto failure;
-
-	return EOK;
-
-failure:
-	if (match_id != NULL)
-		match_id->id = NULL;
-
-	if (vhc != NULL) {
-		vhc->name = NULL;
-		delete_device(vhc);
-	}
-
-	return rc;
-}
-
 /** Get the root device.
  *
@@ -185,10 +131,4 @@
 		printf(NAME ": failed to add child device for platform.\n");
 	
-	/* Register virtual USB host controller. */
-	int rc = add_virtual_usb_host_controller(dev);
-	if (EOK != rc) {
-		printf(NAME ": failed to add child device - virtual USB HC.\n");
-	}
-
 	return res;
 }
Index: uspace/drv/rootvirt/devices.def
===================================================================
--- uspace/drv/rootvirt/devices.def	(revision fe2333da175feb0b278049830a4be0cfc3e3baeb)
+++ uspace/drv/rootvirt/devices.def	(revision 2c5cefa897b181e123f9677daf6fc62cb602cd82)
@@ -18,2 +18,7 @@
 },
 #endif
+/* Virtual USB host controller. */
+{
+	.name = "usbhc",
+	.match_id = "usb&hc=vhc"
+},
