Index: uspace/drv/uhci-rhd/root_hub.c
===================================================================
--- uspace/drv/uhci-rhd/root_hub.c	(revision fa2f79dc9f3887dafc737bb421bdf60b357a7425)
+++ uspace/drv/uhci-rhd/root_hub.c	(revision 563fb40a07786d4d732aa2f58e53db07050cb7dc)
@@ -47,5 +47,5 @@
 	assert(rh);
 	int ret;
-	ret = usb_drv_find_hc(rh, &instance->hc_handle);
+	ret = usb_hc_find(rh->handle, &instance->hc_handle);
 	usb_log_info("rh found(%d) hc handle: %d.\n", ret, instance->hc_handle);
 	if (ret != EOK) {
Index: uspace/drv/usbhub/usbhub.c
===================================================================
--- uspace/drv/usbhub/usbhub.c	(revision fa2f79dc9f3887dafc737bb421bdf60b357a7425)
+++ uspace/drv/usbhub/usbhub.c	(revision 563fb40a07786d4d732aa2f58e53db07050cb7dc)
@@ -50,6 +50,11 @@
 #include "usb/usb.h"
 
+static int iface_get_hc_handle(device_t *device, devman_handle_t *handle)
+{
+	return usb_hc_find(device->handle, handle);
+}
+
 static usb_iface_t hub_usb_iface = {
-	.get_hc_handle = usb_drv_find_hc
+	.get_hc_handle = iface_get_hc_handle
 };
 
Index: uspace/lib/usb/src/pipes.c
===================================================================
--- uspace/lib/usb/src/pipes.c	(revision fa2f79dc9f3887dafc737bb421bdf60b357a7425)
+++ uspace/lib/usb/src/pipes.c	(revision 563fb40a07786d4d732aa2f58e53db07050cb7dc)
@@ -35,7 +35,27 @@
 #include <usb/usb.h>
 #include <usb/pipes.h>
+#include <usbhc_iface.h>
 #include <errno.h>
 #include <assert.h>
-#include <usb/usbdrv.h>
+
+/** Tell USB address assigned to given device.
+ *
+ * @param phone Phone to my HC.
+ * @param dev Device in question.
+ * @return USB address or error code.
+ */
+static usb_address_t get_my_address(int phone, device_t *dev)
+{
+	sysarg_t address;
+	int rc = async_req_2_1(phone, DEV_IFACE_ID(USBHC_DEV_IFACE),
+	    IPC_M_USBHC_GET_ADDRESS,
+	    dev->handle, &address);
+
+	if (rc != EOK) {
+		return rc;
+	}
+
+	return (usb_address_t) address;
+}
 
 /** Initialize connection to USB device.
@@ -55,5 +75,5 @@
 	usb_address_t my_address;
 
-	rc = usb_drv_find_hc(device, &hc_handle);
+	rc = usb_hc_find(device->handle, &hc_handle);
 	if (rc != EOK) {
 		return rc;
@@ -65,5 +85,5 @@
 	}
 
-	my_address = usb_drv_get_my_address(hc_phone, device);
+	my_address = get_my_address(hc_phone, device);
 	if (my_address < 0) {
 		rc = my_address;
