Index: uspace/lib/usbdev/include/usb/dev/device.h
===================================================================
--- uspace/lib/usbdev/include/usb/dev/device.h	(revision 129b821fb30858c35df3ba6ff80bf8ccc51442de)
+++ uspace/lib/usbdev/include/usb/dev/device.h	(revision 217e981067191b312f3821a33ad8bb16fe0e75aa)
@@ -42,4 +42,5 @@
 #include <usb/dev/alternate_ifaces.h>
 #include <usb/dev/pipes.h>
+#include <usbhc_iface.h>
 
 #include <assert.h>
@@ -90,7 +91,9 @@
 int usb_device_unmap_ep(usb_endpoint_mapping_t *);
 
-usb_speed_t usb_device_get_speed(usb_device_t *);
-int usb_device_get_iface_number(usb_device_t *);
-devman_handle_t usb_device_get_devman_handle(usb_device_t *);
+usb_address_t usb_device_get_address(const usb_device_t *);
+usb_speed_t usb_device_get_depth(const usb_device_t *);
+usb_speed_t usb_device_get_speed(const usb_device_t *);
+int usb_device_get_iface_number(const usb_device_t *);
+devman_handle_t usb_device_get_devman_handle(const usb_device_t *);
 
 const usb_device_descriptors_t * usb_device_descriptors(usb_device_t *);
Index: uspace/lib/usbdev/src/devdrv.c
===================================================================
--- uspace/lib/usbdev/src/devdrv.c	(revision 129b821fb30858c35df3ba6ff80bf8ccc51442de)
+++ uspace/lib/usbdev/src/devdrv.c	(revision 217e981067191b312f3821a33ad8bb16fe0e75aa)
@@ -76,4 +76,7 @@
 	/** USB address of this device */
 	usb_address_t address;
+
+	/** Depth in the USB hub hiearchy */
+	unsigned depth;
 
 	/** USB speed of this device */
@@ -364,5 +367,17 @@
 }
 
-usb_speed_t usb_device_get_speed(usb_device_t *usb_dev)
+usb_address_t usb_device_get_address(const usb_device_t *usb_dev)
+{
+	assert(usb_dev);
+	return usb_dev->depth;
+}
+
+unsigned usb_device_get_depth(const usb_device_t *usb_dev)
+{
+	assert(usb_dev);
+	return usb_dev->depth;
+}
+
+usb_speed_t usb_device_get_speed(const usb_device_t *usb_dev)
 {
 	assert(usb_dev);
@@ -370,5 +385,5 @@
 }
 
-int usb_device_get_iface_number(usb_device_t *usb_dev)
+int usb_device_get_iface_number(const usb_device_t *usb_dev)
 {
 	assert(usb_dev);
@@ -376,5 +391,5 @@
 }
 
-devman_handle_t usb_device_get_devman_handle(usb_device_t *usb_dev)
+devman_handle_t usb_device_get_devman_handle(const usb_device_t *usb_dev)
 {
 	assert(usb_dev);
@@ -498,4 +513,5 @@
 	if (ret == EOK) {
 		dev->address = dev_desc.address;
+		dev->depth = dev_desc.depth;
 		dev->speed = dev_desc.speed;
 		dev->handle = dev_desc.handle;
