Index: uspace/lib/usbdev/include/usb/dev/driver.h
===================================================================
--- uspace/lib/usbdev/include/usb/dev/driver.h	(revision ef4e8ebd75646b8bbaae1cb095cb149bfdd9d744)
+++ uspace/lib/usbdev/include/usb/dev/driver.h	(revision 0f4bff87621aa4030f08ba0b27a9ce1d627bca2b)
@@ -110,4 +110,5 @@
 	 */
 	void *driver_data;
+
 	usb_dev_session_t *bus_session;
 } usb_device_t;
@@ -170,4 +171,7 @@
 void usb_device_deinit(usb_device_t *);
 
+async_exch_t * usb_device_bus_exchange_begin(usb_device_t *);
+void usb_device_bus_exchange_end(async_exch_t *);
+
 int usb_device_select_interface(usb_device_t *, uint8_t,
     const usb_endpoint_description_t **);
@@ -180,6 +184,9 @@
     usb_endpoint_mapping_t **, size_t *);
 void usb_device_destroy_pipes(usb_endpoint_mapping_t *, size_t);
+usb_pipe_t *usb_device_get_default_pipe(usb_device_t *);
+usb_pipe_t *usb_device_get_pipe(usb_device_t *, usb_endpoint_t, usb_direction_t);
 
 void * usb_device_data_alloc(usb_device_t *, size_t);
+void * usb_device_data_get(usb_device_t *);
 
 size_t usb_interface_count_alternates(const uint8_t *, size_t, uint8_t);
Index: uspace/lib/usbdev/src/devdrv.c
===================================================================
--- uspace/lib/usbdev/src/devdrv.c	(revision ef4e8ebd75646b8bbaae1cb095cb149bfdd9d744)
+++ uspace/lib/usbdev/src/devdrv.c	(revision 0f4bff87621aa4030f08ba0b27a9ce1d627bca2b)
@@ -388,4 +388,10 @@
 }
 
+usb_pipe_t *usb_device_get_default_pipe(usb_device_t *usb_dev)
+{
+	assert(usb_dev);
+	return &usb_dev->ctrl_pipe;
+}
+
 /** Initialize new instance of USB device.
  *
@@ -515,4 +521,15 @@
 }
 
+async_exch_t * usb_device_bus_exchange_begin(usb_device_t *usb_dev)
+{
+	assert(usb_dev);
+	return async_exchange_begin(usb_dev->bus_session);
+}
+
+void usb_device_bus_exchange_end(async_exch_t *exch)
+{
+	async_exchange_end(exch);
+}
+
 /** Allocate driver specific data.
  * @param usb_dev usb_device structure.
@@ -528,4 +545,9 @@
 }
 
+void * usb_device_data_get(usb_device_t *usb_dev)
+{
+	assert(usb_dev);
+	return usb_dev->driver_data;
+}
 /**
  * @}
