Index: uspace/drv/uhci-hcd/iface.c
===================================================================
--- uspace/drv/uhci-hcd/iface.c	(revision 735eac35d8b6d981f1176e2406bdb4b970e324f3)
+++ uspace/drv/uhci-hcd/iface.c	(revision fa48ebe91f9941e73a0f9e9133469b00ce194c03)
@@ -54,5 +54,5 @@
 }
 /*----------------------------------------------------------------------------*/
-static int reserve_default_address(device_t *dev, bool full_speed)
+static int reserve_default_address(device_t *dev, usb_speed_t speed)
 {
 	assert(dev);
@@ -72,5 +72,5 @@
 }
 /*----------------------------------------------------------------------------*/
-static int request_address(device_t *dev, bool full_speed,
+static int request_address(device_t *dev, usb_speed_t speed,
     usb_address_t *address)
 {
Index: uspace/drv/uhci-rhd/port.c
===================================================================
--- uspace/drv/uhci-rhd/port.c	(revision 735eac35d8b6d981f1176e2406bdb4b970e324f3)
+++ uspace/drv/uhci-rhd/port.c	(revision fa48ebe91f9941e73a0f9e9133469b00ce194c03)
@@ -141,5 +141,5 @@
 	/* get address of the future device */
 	const usb_address_t usb_address = usb_hc_request_address(
-	    &port->hc_connection, true);
+	    &port->hc_connection, USB_SPEED_FULL);
 
 	if (usb_address <= 0) {
@@ -151,5 +151,5 @@
 
 	/* get default address */
-	int ret = usb_hc_reserve_default_address(&port->hc_connection, true);
+	int ret = usb_hc_reserve_default_address(&port->hc_connection, USB_SPEED_FULL);
 	if (ret != EOK) {
 		usb_log_error("Failed to reserve default address on port %d.\n",
Index: uspace/drv/vhc/connhost.c
===================================================================
--- uspace/drv/vhc/connhost.c	(revision 735eac35d8b6d981f1176e2406bdb4b970e324f3)
+++ uspace/drv/vhc/connhost.c	(revision fa48ebe91f9941e73a0f9e9133469b00ce194c03)
@@ -382,5 +382,5 @@
 
 
-static int reserve_default_address(device_t *dev, bool ignored)
+static int reserve_default_address(device_t *dev, usb_speed_t ignored)
 {
 	usb_address_keeping_reserve_default(&addresses);
@@ -394,5 +394,6 @@
 }
 
-static int request_address(device_t *dev, bool ignored, usb_address_t *address)
+static int request_address(device_t *dev, usb_speed_t ignored,
+    usb_address_t *address)
 {
 	usb_address_t addr = usb_address_keeping_request(&addresses);
Index: uspace/lib/drv/generic/remote_usbhc.c
===================================================================
--- uspace/lib/drv/generic/remote_usbhc.c	(revision 735eac35d8b6d981f1176e2406bdb4b970e324f3)
+++ uspace/lib/drv/generic/remote_usbhc.c	(revision fa48ebe91f9941e73a0f9e9133469b00ce194c03)
@@ -164,7 +164,7 @@
 	}
 	
-	bool full_speed = DEV_IPC_GET_ARG1(*call);
+	usb_speed_t speed = DEV_IPC_GET_ARG1(*call);
 	
-	int rc = usb_iface->reserve_default_address(device, full_speed);
+	int rc = usb_iface->reserve_default_address(device, speed);
 
 	async_answer_0(callid, rc);
@@ -196,8 +196,8 @@
 	}
 	
-	bool full_speed = DEV_IPC_GET_ARG1(*call);
+	usb_speed_t speed = DEV_IPC_GET_ARG1(*call);
 
 	usb_address_t address;
-	int rc = usb_iface->request_address(device, full_speed, &address);
+	int rc = usb_iface->request_address(device, speed, &address);
 	if (rc != EOK) {
 		async_answer_0(callid, rc);
Index: uspace/lib/drv/include/usbhc_iface.h
===================================================================
--- uspace/lib/drv/include/usbhc_iface.h	(revision 735eac35d8b6d981f1176e2406bdb4b970e324f3)
+++ uspace/lib/drv/include/usbhc_iface.h	(revision fa48ebe91f9941e73a0f9e9133469b00ce194c03)
@@ -232,7 +232,7 @@
 	int (*tell_address)(device_t *, devman_handle_t, usb_address_t *);
 
-	int (*reserve_default_address)(device_t *, bool);
+	int (*reserve_default_address)(device_t *, usb_speed_t);
 	int (*release_default_address)(device_t *);
-	int (*request_address)(device_t *, bool, usb_address_t *);
+	int (*request_address)(device_t *, usb_speed_t, usb_address_t *);
 	int (*bind_address)(device_t *, usb_address_t, devman_handle_t);
 	int (*release_address)(device_t *, usb_address_t);
Index: uspace/lib/usb/include/usb/hub.h
===================================================================
--- uspace/lib/usb/include/usb/hub.h	(revision 735eac35d8b6d981f1176e2406bdb4b970e324f3)
+++ uspace/lib/usb/include/usb/hub.h	(revision fa48ebe91f9941e73a0f9e9133469b00ce194c03)
@@ -52,8 +52,8 @@
 } usb_hc_attached_device_t;
 
-int usb_hc_reserve_default_address(usb_hc_connection_t *, bool);
+int usb_hc_reserve_default_address(usb_hc_connection_t *, usb_speed_t);
 int usb_hc_release_default_address(usb_hc_connection_t *);
 
-usb_address_t usb_hc_request_address(usb_hc_connection_t *, bool);
+usb_address_t usb_hc_request_address(usb_hc_connection_t *, usb_speed_t);
 int usb_hc_register_device(usb_hc_connection_t *,
     const usb_hc_attached_device_t *);
Index: uspace/lib/usb/src/hub.c
===================================================================
--- uspace/lib/usb/src/hub.c	(revision 735eac35d8b6d981f1176e2406bdb4b970e324f3)
+++ uspace/lib/usb/src/hub.c	(revision fa48ebe91f9941e73a0f9e9133469b00ce194c03)
@@ -56,5 +56,5 @@
  */
 int usb_hc_reserve_default_address(usb_hc_connection_t *connection,
-    bool full_speed)
+    usb_speed_t speed)
 {
 	CHECK_CONNECTION(connection);
@@ -62,5 +62,5 @@
 	return async_req_2_0(connection->hc_phone,
 	    DEV_IFACE_ID(USBHC_DEV_IFACE),
-	    IPC_M_USBHC_RESERVE_DEFAULT_ADDRESS, full_speed);
+	    IPC_M_USBHC_RESERVE_DEFAULT_ADDRESS, speed);
 }
 
@@ -85,5 +85,5 @@
  */
 usb_address_t usb_hc_request_address(usb_hc_connection_t *connection,
-    bool full_speed)
+    usb_speed_t speed)
 {
 	CHECK_CONNECTION(connection);
@@ -92,5 +92,5 @@
 	int rc = async_req_2_1(connection->hc_phone,
 	    DEV_IFACE_ID(USBHC_DEV_IFACE),
-	    IPC_M_USBHC_REQUEST_ADDRESS, full_speed,
+	    IPC_M_USBHC_REQUEST_ADDRESS, speed,
 	    &address);
 	if (rc != EOK) {
