Index: uspace/drv/bus/usb/usbhid/usbhid.c
===================================================================
--- uspace/drv/bus/usb/usbhid/usbhid.c	(revision 876190455543e9023b6f1b801b4152ef1cce31fd)
+++ uspace/drv/bus/usb/usbhid/usbhid.c	(revision e2dfa86733b86ade5cb6b53182cd0ac27f4c5125)
@@ -120,5 +120,5 @@
 	assert(mapping);
 	const usb_standard_device_descriptor_t *d =
-	    usb_device_get_device_descriptor(hid_dev->usb_dev);
+	    &usb_device_descriptors(hid_dev->usb_dev)->device;
 
 	return (d->vendor_id == mapping->vendor_id)
Index: uspace/drv/bus/usb/usbhub/usbhub.c
===================================================================
--- uspace/drv/bus/usb/usbhub/usbhub.c	(revision 876190455543e9023b6f1b801b4152ef1cce31fd)
+++ uspace/drv/bus/usb/usbhub/usbhub.c	(revision e2dfa86733b86ade5cb6b53182cd0ac27f4c5125)
@@ -359,5 +359,5 @@
 	/* Get number of possible configurations from device descriptor */
 	const size_t configuration_count =
-	    usb_device_get_device_descriptor(usb_device)->configuration_count;
+	    usb_device_descriptors(usb_device)->device.configuration_count;
 	usb_log_debug("Hub has %zu configurations.\n", configuration_count);
 
@@ -368,7 +368,8 @@
 
 	// TODO: Make sure that the cast is correct
-	size_t config_size = 0;
+	const size_t config_size =
+	    usb_device_descriptors(usb_device)->full_config_size;
 	const usb_standard_configuration_descriptor_t *config_descriptor =
-	    usb_device_get_configuration_descriptor(usb_device, &config_size);
+	    usb_device_descriptors(usb_device)->full_config;
 
 	if (config_size < sizeof(usb_standard_configuration_descriptor_t)) {
@@ -377,5 +378,4 @@
 	    return EOVERFLOW;
 	}
-
 
 	/* Set configuration. Use the configuration that was in
Index: uspace/drv/bus/usb/usbmid/explore.c
===================================================================
--- uspace/drv/bus/usb/usbmid/explore.c	(revision 876190455543e9023b6f1b801b4152ef1cce31fd)
+++ uspace/drv/bus/usb/usbmid/explore.c	(revision e2dfa86733b86ade5cb6b53182cd0ac27f4c5125)
@@ -118,5 +118,5 @@
 		usbmid_interface_t *iface = NULL;
 		const int rc = usbmid_spawn_interface_child(usb_dev, &iface,
-			usb_device_get_device_descriptor(usb_dev), interface);
+			&usb_device_descriptors(usb_dev)->device, interface);
 		if (rc != EOK) {
 			//TODO: Do something about that failure.
@@ -142,6 +142,7 @@
 int usbmid_explore_device(usb_device_t *dev)
 {
+	assert(dev);
 	const unsigned dev_class =
-	    usb_device_get_device_descriptor(dev)->device_class;
+	    usb_device_descriptors(dev)->device.device_class;
 	if (dev_class != USB_CLASS_USE_INTERFACE) {
 		usb_log_warning(
@@ -154,8 +155,8 @@
 
 	/* Get coonfiguration descriptor. */
-	size_t config_descriptor_size = 0;
+	const size_t config_descriptor_size =
+	    usb_device_descriptors(dev)->full_config_size;
 	const void *config_descriptor_raw =
-	    usb_device_get_configuration_descriptor(dev,
-	    &config_descriptor_size);
+	    usb_device_descriptors(dev)->full_config;
 	const usb_standard_configuration_descriptor_t *config_descriptor =
 	    config_descriptor_raw;
