Index: uspace/drv/bus/usb/usbhid/generic/hiddev.c
===================================================================
--- uspace/drv/bus/usb/usbhid/generic/hiddev.c	(revision 9c5fd7ac3803be77d37cdbffcae6c81e58919a0d)
+++ uspace/drv/bus/usb/usbhid/generic/hiddev.c	(revision b803845b7f74b6b0f13292e50da92b17eb62ec2b)
@@ -48,5 +48,5 @@
 /*----------------------------------------------------------------------------*/
 
-usb_endpoint_description_t usb_hid_generic_poll_endpoint_description = {
+const usb_endpoint_description_t usb_hid_generic_poll_endpoint_description = {
 	.transfer_type = USB_TRANSFER_INTERRUPT,
 	.direction = USB_DIRECTION_IN,
Index: uspace/drv/bus/usb/usbhid/generic/hiddev.h
===================================================================
--- uspace/drv/bus/usb/usbhid/generic/hiddev.h	(revision 9c5fd7ac3803be77d37cdbffcae6c81e58919a0d)
+++ uspace/drv/bus/usb/usbhid/generic/hiddev.h	(revision b803845b7f74b6b0f13292e50da92b17eb62ec2b)
@@ -41,5 +41,6 @@
 struct usb_hid_dev;
 
-usb_endpoint_description_t usb_hid_generic_poll_endpoint_description;
+extern const usb_endpoint_description_t
+    usb_hid_generic_poll_endpoint_description;
 
 const char *HID_GENERIC_FUN_NAME;
Index: uspace/drv/bus/usb/usbhid/kbd/kbddev.c
===================================================================
--- uspace/drv/bus/usb/usbhid/kbd/kbddev.c	(revision 9c5fd7ac3803be77d37cdbffcae6c81e58919a0d)
+++ uspace/drv/bus/usb/usbhid/kbd/kbddev.c	(revision b803845b7f74b6b0f13292e50da92b17eb62ec2b)
@@ -88,5 +88,5 @@
 
 /** Keyboard polling endpoint description for boot protocol class. */
-usb_endpoint_description_t usb_hid_kbd_poll_endpoint_description = {
+const usb_endpoint_description_t usb_hid_kbd_poll_endpoint_description = {
 	.transfer_type = USB_TRANSFER_INTERRUPT,
 	.direction = USB_DIRECTION_IN,
Index: uspace/drv/bus/usb/usbhid/kbd/kbddev.h
===================================================================
--- uspace/drv/bus/usb/usbhid/kbd/kbddev.h	(revision 9c5fd7ac3803be77d37cdbffcae6c81e58919a0d)
+++ uspace/drv/bus/usb/usbhid/kbd/kbddev.h	(revision b803845b7f74b6b0f13292e50da92b17eb62ec2b)
@@ -118,5 +118,5 @@
 /*----------------------------------------------------------------------------*/
 
-usb_endpoint_description_t usb_hid_kbd_poll_endpoint_description;
+extern const usb_endpoint_description_t usb_hid_kbd_poll_endpoint_description;
 
 const char *HID_KBD_FUN_NAME;
Index: uspace/drv/bus/usb/usbhid/mouse/mousedev.c
===================================================================
--- uspace/drv/bus/usb/usbhid/mouse/mousedev.c	(revision 9c5fd7ac3803be77d37cdbffcae6c81e58919a0d)
+++ uspace/drv/bus/usb/usbhid/mouse/mousedev.c	(revision b803845b7f74b6b0f13292e50da92b17eb62ec2b)
@@ -59,5 +59,5 @@
 /*----------------------------------------------------------------------------*/
 
-usb_endpoint_description_t usb_hid_mouse_poll_endpoint_description = {
+const usb_endpoint_description_t usb_hid_mouse_poll_endpoint_description = {
 	.transfer_type = USB_TRANSFER_INTERRUPT,
 	.direction = USB_DIRECTION_IN,
Index: uspace/drv/bus/usb/usbhid/mouse/mousedev.h
===================================================================
--- uspace/drv/bus/usb/usbhid/mouse/mousedev.h	(revision 9c5fd7ac3803be77d37cdbffcae6c81e58919a0d)
+++ uspace/drv/bus/usb/usbhid/mouse/mousedev.h	(revision b803845b7f74b6b0f13292e50da92b17eb62ec2b)
@@ -63,5 +63,5 @@
 /*----------------------------------------------------------------------------*/
 
-usb_endpoint_description_t usb_hid_mouse_poll_endpoint_description;
+extern const usb_endpoint_description_t usb_hid_mouse_poll_endpoint_description;
 
 const char *HID_MOUSE_FUN_NAME;
Index: uspace/drv/bus/usb/usbhid/usbhid.c
===================================================================
--- uspace/drv/bus/usb/usbhid/usbhid.c	(revision 9c5fd7ac3803be77d37cdbffcae6c81e58919a0d)
+++ uspace/drv/bus/usb/usbhid/usbhid.c	(revision b803845b7f74b6b0f13292e50da92b17eb62ec2b)
@@ -54,5 +54,5 @@
 
 /* Array of endpoints expected on the device, NULL terminated. */
-usb_endpoint_description_t *usb_hid_endpoints[] = {
+const usb_endpoint_description_t *usb_hid_endpoints[] = {
 	&usb_hid_kbd_poll_endpoint_description,
 	&usb_hid_mouse_poll_endpoint_description,
Index: uspace/drv/bus/usb/usbhid/usbhid.h
===================================================================
--- uspace/drv/bus/usb/usbhid/usbhid.h	(revision 9c5fd7ac3803be77d37cdbffcae6c81e58919a0d)
+++ uspace/drv/bus/usb/usbhid/usbhid.h	(revision b803845b7f74b6b0f13292e50da92b17eb62ec2b)
@@ -141,5 +141,5 @@
 };
 
-extern usb_endpoint_description_t *usb_hid_endpoints[];
+extern const usb_endpoint_description_t *usb_hid_endpoints[];
 
 /*----------------------------------------------------------------------------*/
Index: uspace/drv/bus/usb/usbhub/main.c
===================================================================
--- uspace/drv/bus/usb/usbhub/main.c	(revision 9c5fd7ac3803be77d37cdbffcae6c81e58919a0d)
+++ uspace/drv/bus/usb/usbhub/main.c	(revision b803845b7f74b6b0f13292e50da92b17eb62ec2b)
@@ -67,5 +67,5 @@
 
 /** Hub endpoints, excluding control endpoint. */
-static usb_endpoint_description_t *usb_hub_endpoints[] = {
+static const usb_endpoint_description_t *usb_hub_endpoints[] = {
 	&hub_status_change_endpoint_description,
 	NULL,
Index: uspace/drv/bus/usb/usbmast/main.c
===================================================================
--- uspace/drv/bus/usb/usbmast/main.c	(revision 9c5fd7ac3803be77d37cdbffcae6c81e58919a0d)
+++ uspace/drv/bus/usb/usbmast/main.c	(revision b803845b7f74b6b0f13292e50da92b17eb62ec2b)
@@ -72,5 +72,5 @@
 };
 
-usb_endpoint_description_t *mast_endpoints[] = {
+static const usb_endpoint_description_t *mast_endpoints[] = {
 	&bulk_in_ep,
 	&bulk_out_ep,
Index: uspace/drv/bus/usb/usbmouse/init.c
===================================================================
--- uspace/drv/bus/usb/usbmouse/init.c	(revision 9c5fd7ac3803be77d37cdbffcae6c81e58919a0d)
+++ uspace/drv/bus/usb/usbmouse/init.c	(revision b803845b7f74b6b0f13292e50da92b17eb62ec2b)
@@ -44,5 +44,5 @@
 
 /** Mouse polling endpoint description for boot protocol subclass. */
-usb_endpoint_description_t poll_endpoint_description = {
+const usb_endpoint_description_t poll_endpoint_description = {
 	.transfer_type = USB_TRANSFER_INTERRUPT,
 	.direction = USB_DIRECTION_IN,
Index: uspace/drv/bus/usb/usbmouse/main.c
===================================================================
--- uspace/drv/bus/usb/usbmouse/main.c	(revision 9c5fd7ac3803be77d37cdbffcae6c81e58919a0d)
+++ uspace/drv/bus/usb/usbmouse/main.c	(revision b803845b7f74b6b0f13292e50da92b17eb62ec2b)
@@ -83,5 +83,5 @@
 };
 
-static usb_endpoint_description_t *endpoints[] = {
+static const usb_endpoint_description_t *endpoints[] = {
 	&poll_endpoint_description,
 	NULL
Index: uspace/drv/bus/usb/usbmouse/mouse.h
===================================================================
--- uspace/drv/bus/usb/usbmouse/mouse.h	(revision 9c5fd7ac3803be77d37cdbffcae6c81e58919a0d)
+++ uspace/drv/bus/usb/usbmouse/mouse.h	(revision b803845b7f74b6b0f13292e50da92b17eb62ec2b)
@@ -61,5 +61,5 @@
 } usb_mouse_t;
 
-extern usb_endpoint_description_t poll_endpoint_description;
+extern const usb_endpoint_description_t poll_endpoint_description;
 
 extern int usb_mouse_create(usb_device_t *);
Index: uspace/lib/usbdev/include/usb/dev/driver.h
===================================================================
--- uspace/lib/usbdev/include/usb/dev/driver.h	(revision 9c5fd7ac3803be77d37cdbffcae6c81e58919a0d)
+++ uspace/lib/usbdev/include/usb/dev/driver.h	(revision b803845b7f74b6b0f13292e50da92b17eb62ec2b)
@@ -156,5 +156,5 @@
 \endcode
 	 */
-	usb_endpoint_description_t **endpoints;
+	const usb_endpoint_description_t **endpoints;
 	/** Driver ops. */
 	const usb_driver_ops_t *ops;
@@ -164,12 +164,13 @@
 
 int usb_device_select_interface(usb_device_t *, uint8_t,
-    usb_endpoint_description_t **);
+    const usb_endpoint_description_t **);
 
 int usb_device_retrieve_descriptors(usb_pipe_t *, usb_device_descriptors_t *);
 int usb_device_create_pipes(const ddf_dev_t *, usb_device_connection_t *,
-    usb_endpoint_description_t **, const uint8_t *, size_t, int, int,
+    const usb_endpoint_description_t **, const uint8_t *, size_t, int, int,
     usb_endpoint_mapping_t **, size_t *);
 int usb_device_destroy_pipes(const ddf_dev_t *, usb_endpoint_mapping_t *, size_t);
-int usb_device_create(ddf_dev_t *, usb_endpoint_description_t **, usb_device_t **, const char **);
+int usb_device_create(ddf_dev_t *, const usb_endpoint_description_t **,
+    usb_device_t **, const char **);
 void usb_device_deinit(usb_device_t *);
 void * usb_device_data_alloc(usb_device_t *, size_t);
Index: uspace/lib/usbdev/src/devdrv.c
===================================================================
--- uspace/lib/usbdev/src/devdrv.c	(revision 9c5fd7ac3803be77d37cdbffcae6c81e58919a0d)
+++ uspace/lib/usbdev/src/devdrv.c	(revision b803845b7f74b6b0f13292e50da92b17eb62ec2b)
@@ -81,5 +81,5 @@
  * @return Number of pipes (excluding default control pipe).
  */
-static size_t count_other_pipes(usb_endpoint_description_t **endpoints)
+static size_t count_other_pipes(const usb_endpoint_description_t **endpoints)
 {
 	size_t count = 0;
@@ -101,5 +101,5 @@
  * @return Error code.
  */
-static int initialize_other_pipes(usb_endpoint_description_t **endpoints,
+static int initialize_other_pipes(const usb_endpoint_description_t **endpoints,
     usb_device_t *dev, int alternate_setting)
 {
@@ -238,5 +238,5 @@
  */
 int usb_device_select_interface(usb_device_t *dev, uint8_t alternate_setting,
-    usb_endpoint_description_t **endpoints)
+    const usb_endpoint_description_t **endpoints)
 {
 	if (dev->interface_no < 0) {
@@ -321,5 +321,5 @@
  */
 int usb_device_create_pipes(const ddf_dev_t *dev, usb_device_connection_t *wire,
-    usb_endpoint_description_t **endpoints,
+    const usb_endpoint_description_t **endpoints,
     const uint8_t *config_descr, size_t config_descr_size,
     int interface_no, int interface_setting,
@@ -526,5 +526,5 @@
  */
 int usb_device_create(ddf_dev_t *ddf_dev,
-    usb_endpoint_description_t **endpoints,
+    const usb_endpoint_description_t **endpoints,
     usb_device_t **dev_ptr, const char **errstr_ptr)
 {
