Index: uspace/app/usbinfo/info.c
===================================================================
--- uspace/app/usbinfo/info.c	(revision 06f9a9c99b61ad0282c545825b2e945133f51d9e)
+++ uspace/app/usbinfo/info.c	(revision dc05a9a597536a77b10988235cdf855c96b15084)
@@ -48,6 +48,6 @@
 {
 	printf("%sDevice 0x%04x by vendor 0x%04x\n", get_indent(0),
-	    (int) usb_device_get_device_descriptor(usb_dev)->product_id,
-	    (int) usb_device_get_device_descriptor(usb_dev)->vendor_id);
+	    usb_device_descriptors(usb_dev)->device.product_id,
+	    usb_device_descriptors(usb_dev)->device.vendor_id);
 }
 
@@ -83,5 +83,5 @@
 	init_match_ids(&matches);
 	usb_device_create_match_ids_from_interface(
-	    usb_device_get_device_descriptor(usb_dev), iface, &matches);
+	    &usb_device_descriptors(usb_dev)->device, iface, &matches);
 	dump_match_ids(&matches, get_indent(1));
 	clean_match_ids(&matches);
@@ -92,18 +92,17 @@
 	match_id_list_t matches;
 	init_match_ids(&matches);
-	const usb_standard_device_descriptor_t *dev_desc =
-	    usb_device_get_device_descriptor(usb_dev);
-	usb_device_create_match_ids_from_device_descriptor(dev_desc, &matches);
+	usb_device_create_match_ids_from_device_descriptor(
+		&usb_device_descriptors(usb_dev)->device, &matches);
 	printf("%sDevice match ids (0x%04x by 0x%04x, %s)\n", get_indent(0),
-	    (int) dev_desc->product_id, (int) dev_desc->vendor_id,
-	    usb_str_class(dev_desc->device_class));
+	    usb_device_descriptors(usb_dev)->device.product_id,
+	    usb_device_descriptors(usb_dev)->device.vendor_id,
+	    usb_str_class(usb_device_descriptors(usb_dev)->device.device_class));
 	dump_match_ids(&matches, get_indent(1));
 	clean_match_ids(&matches);
 
-	size_t desc_size = 0;
-	const void *desc =
-	    usb_device_get_configuration_descriptor(usb_dev, &desc_size);
-
-	usb_dp_walk_simple(desc, desc_size, usb_dp_standard_descriptor_nesting,
+	usb_dp_walk_simple(
+	    usb_device_descriptors(usb_dev)->full_config,
+	    usb_device_descriptors(usb_dev)->full_config_size,
+	    usb_dp_standard_descriptor_nesting,
 	    dump_match_ids_from_interface, usb_dev);
 }
@@ -230,12 +229,11 @@
 {
 	dump_descriptor_tree_callback(
-	    (const uint8_t *)usb_device_get_device_descriptor(usb_dev),
+	    (const uint8_t *)&usb_device_descriptors(usb_dev)->device,
 	    (size_t) -1, NULL);
 
-	size_t desc_size = 0;
-	const void *desc =
-	    usb_device_get_configuration_descriptor(usb_dev, &desc_size);
-
-	usb_dp_walk_simple(desc, desc_size, usb_dp_standard_descriptor_nesting,
+	usb_dp_walk_simple(
+	    usb_device_descriptors(usb_dev)->full_config,
+	    usb_device_descriptors(usb_dev)->full_config_size,
+	    usb_dp_standard_descriptor_nesting,
 	    dump_descriptor_tree_callback, NULL);
 }
@@ -244,12 +242,11 @@
 {
 	dump_descriptor_tree_callback(
-	    (const uint8_t *)usb_device_get_device_descriptor(usb_dev),
+	    (const uint8_t *)&usb_device_descriptors(usb_dev)->device,
 	    (size_t) -1, usb_dev);
 
-	size_t desc_size = 0;
-	const void *desc =
-	    usb_device_get_configuration_descriptor(usb_dev, &desc_size);
-
-	usb_dp_walk_simple(desc, desc_size, usb_dp_standard_descriptor_nesting,
+	usb_dp_walk_simple(
+	    usb_device_descriptors(usb_dev)->full_config,
+	    usb_device_descriptors(usb_dev)->full_config_size,
+	    usb_dp_standard_descriptor_nesting,
 	    dump_descriptor_tree_callback, usb_dev);
 }
@@ -299,11 +296,11 @@
 	uint64_t str_mask = 0;
 	find_string_indexes_callback(
-	    (const uint8_t *)usb_device_get_device_descriptor(usb_dev), 0,
+	    (const uint8_t *)&usb_device_descriptors(usb_dev)->device, 0,
 	    &str_mask);
-	size_t desc_size = 0;
-	const void *desc =
-	    usb_device_get_configuration_descriptor(usb_dev, &desc_size);
-
-	usb_dp_walk_simple(desc, desc_size, usb_dp_standard_descriptor_nesting,
+
+	usb_dp_walk_simple(
+	    usb_device_descriptors(usb_dev)->full_config,
+	    usb_device_descriptors(usb_dev)->full_config_size,
+	    usb_dp_standard_descriptor_nesting,
 	    find_string_indexes_callback, &str_mask);
 
