Index: uspace/drv/bus/usb/usbhid/generic/hiddev.c
===================================================================
--- uspace/drv/bus/usb/usbhid/generic/hiddev.c	(revision b5f716bc90001ca89dfcaf04f82a2b4e1dd2e11e)
+++ uspace/drv/bus/usb/usbhid/generic/hiddev.c	(revision 7d68e5c7bbd8d48eadd3740af6aae9d80d0e019e)
@@ -49,6 +49,4 @@
 #include "usbhid.h"
 
-
-
 const usb_endpoint_description_t usb_hid_generic_poll_endpoint_description = {
 	.transfer_type = USB_TRANSFER_INTERRUPT,
@@ -61,5 +59,5 @@
 
 const char *HID_GENERIC_FUN_NAME = "hid";
-const char *HID_GENERIC_CLASS_NAME = "hid";
+const char *HID_GENERIC_CATEGORY = "hid";
 
 
@@ -226,4 +224,5 @@
 	return true;
 }
+
 /**
  * @}
Index: uspace/drv/bus/usb/usbhid/generic/hiddev.h
===================================================================
--- uspace/drv/bus/usb/usbhid/generic/hiddev.h	(revision b5f716bc90001ca89dfcaf04f82a2b4e1dd2e11e)
+++ uspace/drv/bus/usb/usbhid/generic/hiddev.h	(revision 7d68e5c7bbd8d48eadd3740af6aae9d80d0e019e)
@@ -38,23 +38,20 @@
 
 #include <usb/dev/driver.h>
-
-struct usb_hid_dev;
+#include "../usbhid.h"
 
 extern const usb_endpoint_description_t
     usb_hid_generic_poll_endpoint_description;
 
-const char *HID_GENERIC_FUN_NAME;
-const char *HID_GENERIC_CLASS_NAME;
+extern const char *HID_GENERIC_FUN_NAME;
+extern const char *HID_GENERIC_CATEGORY;
 
 /** The USB HID generic 'hid' function softstate */
 typedef struct {
-	struct usb_hid_dev *hid_dev;
+	usb_hid_dev_t *hid_dev;
 } usb_hid_gen_fun_t;
 
-int usb_generic_hid_init(struct usb_hid_dev *hid_dev, void **data);
-
-void usb_generic_hid_deinit(struct usb_hid_dev *hid_dev, void *data);
-
-bool usb_generic_hid_polling_callback(struct usb_hid_dev *hid_dev, void *data);
+extern int usb_generic_hid_init(usb_hid_dev_t *, void **);
+extern void usb_generic_hid_deinit(usb_hid_dev_t *, void *);
+extern bool usb_generic_hid_polling_callback(usb_hid_dev_t *, void *);
 
 #endif // USB_HID_HIDDDEV_H_
Index: uspace/drv/bus/usb/usbhid/kbd/kbddev.c
===================================================================
--- uspace/drv/bus/usb/usbhid/kbd/kbddev.c	(revision b5f716bc90001ca89dfcaf04f82a2b4e1dd2e11e)
+++ uspace/drv/bus/usb/usbhid/kbd/kbddev.c	(revision 7d68e5c7bbd8d48eadd3740af6aae9d80d0e019e)
@@ -103,5 +103,5 @@
 
 const char *HID_KBD_FUN_NAME = "keyboard";
-const char *HID_KBD_CATEGORY_NAME = "keyboard";
+const char *HID_KBD_CATEGORY = "keyboard";
 
 static void usb_kbd_set_led(usb_hid_dev_t *hid_dev, usb_kbd_t *kbd_dev);
@@ -513,10 +513,10 @@
 
 	usb_log_debug("Adding DDF function to category %s...\n",
-	    HID_KBD_CLASS_NAME);
-	rc = ddf_fun_add_to_category(fun, HID_KBD_CATEGORY_NAME);
+	    HID_KBD_CATEGORY);
+	rc = ddf_fun_add_to_category(fun, HID_KBD_CATEGORY);
 	if (rc != EOK) {
 		usb_log_error(
 		    "Could not add DDF function to category %s: %s.\n",
-		    HID_KBD_CLASS_NAME, str_error(rc));
+		    HID_KBD_CATEGORY, str_error(rc));
 		if (ddf_fun_unbind(fun) == EOK) {
 			ddf_fun_destroy(fun);
Index: uspace/drv/bus/usb/usbhid/kbd/kbddev.h
===================================================================
--- uspace/drv/bus/usb/usbhid/kbd/kbddev.h	(revision b5f716bc90001ca89dfcaf04f82a2b4e1dd2e11e)
+++ uspace/drv/bus/usb/usbhid/kbd/kbddev.h	(revision 7d68e5c7bbd8d48eadd3740af6aae9d80d0e019e)
@@ -45,9 +45,6 @@
 #include <usb/dev/pipes.h>
 #include <usb/dev/driver.h>
-
+#include "../usbhid.h"
 #include "kbdrepeat.h"
-
-struct usb_hid_dev;
-
 
 /**
@@ -65,6 +62,6 @@
 typedef struct usb_kbd_t {
 	/** Link to HID device structure */
-	struct usb_hid_dev *hid_dev;
-
+	usb_hid_dev_t *hid_dev;
+	
 	/** Previously pressed keys (not translated to key codes). */
 	int32_t *keys_old;
@@ -75,32 +72,32 @@
 	/** Currently pressed modifiers (bitmap). */
 	uint8_t modifiers;
-
+	
 	/** Currently active modifiers including locks. Sent to the console. */
-	unsigned mods;
-
+	unsigned int mods;
+	
 	/** Currently active lock keys. */
-	unsigned lock_keys;
-
+	unsigned int lock_keys;
+	
 	/** IPC session to client (for sending key events). */
 	async_sess_t *client_sess;
-
+	
 	/** Information for auto-repeat of keys. */
 	usb_kbd_repeat_t repeat;
-
+	
 	/** Mutex for accessing the information about auto-repeat. */
 	fibril_mutex_t repeat_mtx;
-
+	
 	uint8_t *output_buffer;
-
+	
 	size_t output_size;
-
+	
 	size_t led_output_size;
-
+	
 	usb_hid_report_path_t *led_path;
-
+	
 	int32_t *led_data;
-
+	
 	/** State of the structure (for checking before use). 
-	 * 
+	 *
 	 * 0 - not initialized
 	 * 1 - initialized
@@ -108,34 +105,22 @@
 	 */
 	int initialized;
-
+	
 	/** DDF function */
 	ddf_fun_t *fun;
 } usb_kbd_t;
 
-
-
 extern const usb_endpoint_description_t usb_hid_kbd_poll_endpoint_description;
 
-const char *HID_KBD_FUN_NAME;
-const char *HID_KBD_CLASS_NAME;
+extern const char *HID_KBD_FUN_NAME;
+extern const char *HID_KBD_CATEGORY;
 
-
-
-int usb_kbd_init(struct usb_hid_dev *hid_dev, void **data);
-
-bool usb_kbd_polling_callback(struct usb_hid_dev *hid_dev, void *data);
-
-int usb_kbd_is_initialized(const usb_kbd_t *kbd_dev);
-
-int usb_kbd_is_ready_to_destroy(const usb_kbd_t *kbd_dev);
-
-void usb_kbd_destroy(usb_kbd_t *kbd_dev);
-
-void usb_kbd_push_ev(usb_kbd_t *kbd_dev,
-    int type, unsigned int key);
-
-void usb_kbd_deinit(struct usb_hid_dev *hid_dev, void *data);
-
-int usb_kbd_set_boot_protocol(struct usb_hid_dev *hid_dev);
+extern int usb_kbd_init(usb_hid_dev_t *, void **);
+extern bool usb_kbd_polling_callback(usb_hid_dev_t *, void *);
+extern int usb_kbd_is_initialized(const usb_kbd_t *);
+extern int usb_kbd_is_ready_to_destroy(const usb_kbd_t *);
+extern void usb_kbd_destroy(usb_kbd_t *);
+extern void usb_kbd_push_ev(usb_kbd_t *, int, unsigned int);
+extern void usb_kbd_deinit(usb_hid_dev_t *, void *);
+extern int usb_kbd_set_boot_protocol(usb_hid_dev_t *);
 
 #endif /* USB_HID_KBDDEV_H_ */
Index: uspace/drv/bus/usb/usbhid/mouse/mousedev.c
===================================================================
--- uspace/drv/bus/usb/usbhid/mouse/mousedev.c	(revision b5f716bc90001ca89dfcaf04f82a2b4e1dd2e11e)
+++ uspace/drv/bus/usb/usbhid/mouse/mousedev.c	(revision 7d68e5c7bbd8d48eadd3740af6aae9d80d0e019e)
@@ -344,5 +344,5 @@
 
 	if (hid_dev == NULL) {
-		usb_log_error("Failed to init keyboard structure: no structure"
+		usb_log_error("Failed to init mouse structure: no structure"
 		    " given.\n");
 		return EINVAL;
Index: uspace/drv/bus/usb/usbhid/mouse/mousedev.h
===================================================================
--- uspace/drv/bus/usb/usbhid/mouse/mousedev.h	(revision b5f716bc90001ca89dfcaf04f82a2b4e1dd2e11e)
+++ uspace/drv/bus/usb/usbhid/mouse/mousedev.h	(revision 7d68e5c7bbd8d48eadd3740af6aae9d80d0e019e)
@@ -39,8 +39,5 @@
 #include <usb/dev/driver.h>
 #include <async.h>
-
-struct usb_hid_dev;
-
-
+#include "../usbhid.h"
 
 /** Container for USB mouse device. */
@@ -48,31 +45,22 @@
 	/** IPC session to consumer. */
 	async_sess_t *mouse_sess;
-
-	/* Mouse buttons statuses. */
+	
+	/** Mouse buttons statuses. */
 	int32_t *buttons;
 	size_t buttons_count;
-
-	/* DDF mouse function */
+	
+	/** DDF mouse function */
 	ddf_fun_t *mouse_fun;
 } usb_mouse_t;
 
-
-
 extern const usb_endpoint_description_t usb_hid_mouse_poll_endpoint_description;
 
-const char *HID_MOUSE_FUN_NAME;
-const char *HID_MOUSE_CATEGORY;
+extern const char *HID_MOUSE_FUN_NAME;
+extern const char *HID_MOUSE_CATEGORY;
 
-
-
-int usb_mouse_init(struct usb_hid_dev *hid_dev, void **data);
-
-bool usb_mouse_polling_callback(struct usb_hid_dev *hid_dev, void *data);
-
-void usb_mouse_deinit(struct usb_hid_dev *hid_dev, void *data);
-
-int usb_mouse_set_boot_protocol(struct usb_hid_dev *hid_dev);
-
-
+extern int usb_mouse_init(usb_hid_dev_t *, void **);
+extern bool usb_mouse_polling_callback(usb_hid_dev_t *, void *);
+extern void usb_mouse_deinit(usb_hid_dev_t *, void *);
+extern int usb_mouse_set_boot_protocol(usb_hid_dev_t *);
 
 #endif // USB_HID_MOUSEDEV_H_
Index: uspace/drv/bus/usb/usbhid/multimedia/multimedia.c
===================================================================
--- uspace/drv/bus/usb/usbhid/multimedia/multimedia.c	(revision b5f716bc90001ca89dfcaf04f82a2b4e1dd2e11e)
+++ uspace/drv/bus/usb/usbhid/multimedia/multimedia.c	(revision 7d68e5c7bbd8d48eadd3740af6aae9d80d0e019e)
@@ -1,4 +1,5 @@
 /*
- * Copyright (c) 2011 Lubos Slovak, Vojtech Horky
+ * Copyright (c) 2011 Lubos Slovak
+ * Copyright (c) 2011 Vojtech Horky
  * All rights reserved.
  *
Index: uspace/drv/bus/usb/usbhid/multimedia/multimedia.h
===================================================================
--- uspace/drv/bus/usb/usbhid/multimedia/multimedia.h	(revision b5f716bc90001ca89dfcaf04f82a2b4e1dd2e11e)
+++ uspace/drv/bus/usb/usbhid/multimedia/multimedia.h	(revision 7d68e5c7bbd8d48eadd3740af6aae9d80d0e019e)
@@ -38,16 +38,9 @@
 
 #include <usb/dev/driver.h>
+#include "../usbhid.h"
 
-struct usb_hid_dev;
-
-
-
-int usb_multimedia_init(struct usb_hid_dev *hid_dev, void **data);
-
-void usb_multimedia_deinit(struct usb_hid_dev *hid_dev, void *data);
-
-bool usb_multimedia_polling_callback(struct usb_hid_dev *hid_dev, void *data);
-
-
+extern int usb_multimedia_init(usb_hid_dev_t *, void **);
+extern void usb_multimedia_deinit(usb_hid_dev_t *, void *);
+extern bool usb_multimedia_polling_callback(usb_hid_dev_t *, void *);
 
 #endif // USB_HID_MULTIMEDIA_H_
Index: uspace/drv/bus/usb/usbhid/subdrivers.h
===================================================================
--- uspace/drv/bus/usb/usbhid/subdrivers.h	(revision b5f716bc90001ca89dfcaf04f82a2b4e1dd2e11e)
+++ uspace/drv/bus/usb/usbhid/subdrivers.h	(revision 7d68e5c7bbd8d48eadd3740af6aae9d80d0e019e)
@@ -40,6 +40,4 @@
 #include "kbd/kbddev.h"
 
-
-
 typedef struct usb_hid_subdriver_usage {
 	int usage_page;
@@ -47,7 +45,5 @@
 } usb_hid_subdriver_usage_t;
 
-
-
-/** Structure representing the mapping between device requirements and the 
+/** Structure representing the mapping between device requirements and the
  *  subdriver supposed to handle this device.
  *
@@ -55,7 +51,8 @@
  * a new subdriver mapping will be created and used by the HID driver when it
  * searches for appropriate subdrivers for a device.
+ *
  */
 typedef struct usb_hid_subdriver_mapping {
-	/** Usage path that the device's Input reports must contain. 
+	/** Usage path that the device's input reports must contain.
 	 *
 	 * It is an array of pairs <usage_page, usage>, terminated by a <0, 0>
@@ -64,27 +61,23 @@
 	 */
 	const usb_hid_subdriver_usage_t *usage_path;
-
+	
 	/** Report ID for which the path should apply. */
 	int report_id;
-
-	/** Compare type for the Usage path. */
+	
+	/** Compare type for the usage path. */
 	int compare;
-
+	
 	/** Vendor ID (set to -1 if not specified). */
 	int vendor_id;
-
+	
 	/** Product ID (set to -1 if not specified). */
 	int product_id;
-
+	
 	/** Subdriver for controlling this device. */
 	const usb_hid_subdriver_t subdriver;
 } usb_hid_subdriver_mapping_t;
 
-
-
 extern const usb_hid_subdriver_mapping_t usb_hid_subdrivers[];
 extern const size_t USB_HID_MAX_SUBDRIVERS;
-
-
 
 #endif /* USB_HID_SUBDRIVERS_H_ */
Index: uspace/drv/bus/usb/usbhid/usbhid.ma
===================================================================
--- uspace/drv/bus/usb/usbhid/usbhid.ma	(revision b5f716bc90001ca89dfcaf04f82a2b4e1dd2e11e)
+++ uspace/drv/bus/usb/usbhid/usbhid.ma	(revision 7d68e5c7bbd8d48eadd3740af6aae9d80d0e019e)
@@ -1,3 +1,3 @@
-100 usb&interface&class=HID&subclass=0x01&protocol=0x01
+1000 usb&interface&class=HID&subclass=0x01&protocol=0x01
 1000 usb&interface&class=HID&subclass=0x01&protocol=0x02
 100 usb&interface&class=HID
