Index: uspace/lib/drv/generic/remote_usb.c
===================================================================
--- uspace/lib/drv/generic/remote_usb.c	(revision e938fa6a698a9c08e13ded30387b025000732ed4)
+++ uspace/lib/drv/generic/remote_usb.c	(revision 94fbf78519c6a5d5b6009321e986dfa44de82d37)
@@ -42,11 +42,20 @@
 #include "ddf/driver.h"
 
-usb_dev_session_t *usb_dev_connect(ddf_dev_t *parent)
+
+usb_dev_session_t *usb_dev_connect(devman_handle_t handle)
 {
 	// TODO All usb requests are atomic so this is safe,
-	// it will need to change once USING EXCHNAGE PARALLEL is safe with
+	// it will need to change once USING EXCHANGE PARALLEL is safe with
+	// devman_device_connect
+	return devman_device_connect(EXCHANGE_ATOMIC, handle, IPC_FLAG_BLOCKING);
+}
+
+usb_dev_session_t *usb_dev_connect_to_self(ddf_dev_t *dev)
+{
+	// TODO All usb requests are atomic so this is safe,
+	// it will need to change once USING EXCHANGE PARALLEL is safe with
 	// devman_parent_device_connect
 	return devman_parent_device_connect(EXCHANGE_ATOMIC,
-	    ddf_dev_get_handle(parent), IPC_FLAG_BLOCKING);
+	    ddf_dev_get_handle(dev), IPC_FLAG_BLOCKING);
 }
 
Index: uspace/lib/drv/include/usb_iface.h
===================================================================
--- uspace/lib/drv/include/usb_iface.h	(revision e938fa6a698a9c08e13ded30387b025000732ed4)
+++ uspace/lib/drv/include/usb_iface.h	(revision 94fbf78519c6a5d5b6009321e986dfa44de82d37)
@@ -48,5 +48,6 @@
 typedef async_sess_t usb_dev_session_t;
 
-usb_dev_session_t *usb_dev_connect(ddf_dev_t *dev);
+usb_dev_session_t *usb_dev_connect(devman_handle_t);
+usb_dev_session_t *usb_dev_connect_to_self(ddf_dev_t *);
 void usb_dev_session_close(usb_dev_session_t *);
 
