Index: uspace/doc/doxygroups.h
===================================================================
--- uspace/doc/doxygroups.h	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/doc/doxygroups.h	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -176,2 +176,10 @@
 	 * @brief Library for creating USB devices drivers.
 	 */
+
+	 /**
+	  * @defgroup usbhub USB hub driver
+	  * @ingroup usb
+	  * @brief USB hub driver.
+	  */
+	  */
+
Index: uspace/drv/usbhub/usbhub.c
===================================================================
--- uspace/drv/usbhub/usbhub.c	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/drv/usbhub/usbhub.c	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -26,5 +26,5 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-/** @addtogroup usb hub driver
+/** @addtogroup usbhub
  * @{
  */
Index: uspace/drv/usbhub/usblist.c
===================================================================
--- uspace/drv/usbhub/usblist.c	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/drv/usbhub/usblist.c	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -26,5 +26,5 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-/** @addtogroup usb hub driver
+/** @addtogroup usbhub
  * @{
  */
Index: uspace/drv/usbhub/usblist.h
===================================================================
--- uspace/drv/usbhub/usblist.h	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/drv/usbhub/usblist.h	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,8 +27,5 @@
  */
 
-
-#ifndef USBLIST_H
-#define	USBLIST_H
-/** @addtogroup usb hub driver
+/** @addtogroup usbhub
  * @{
  */
@@ -40,4 +37,6 @@
  * much simpler and more straight-forward semantics.
  */
+#ifndef USBLIST_H
+#define	USBLIST_H
 
 /**
@@ -78,11 +77,6 @@
 }
 
-
+#endif	/* USBLIST_H */
 /**
  * @}
  */
-
-
-
-#endif	/* USBLIST_H */
-
Index: uspace/drv/usbhub/utils.c
===================================================================
--- uspace/drv/usbhub/utils.c	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/drv/usbhub/utils.c	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup usbhub
  * @{
  */
Index: uspace/drv/vhc/devices.c
===================================================================
--- uspace/drv/vhc/devices.c	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/drv/vhc/devices.c	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -58,8 +58,7 @@
 /** Create virtual device.
  *
- * @param address USB address.
  * @param phone Callback phone.
  * @return New device.
- * @retval NULL Out of memory or address already occupied.
+ * @retval NULL Out of memory.
  */
 virtdev_connection_t *virtdev_add_device(int phone)
@@ -67,4 +66,8 @@
 	virtdev_connection_t *dev = (virtdev_connection_t *)
 	    malloc(sizeof(virtdev_connection_t));
+	if (dev == NULL) {
+		return NULL;
+	}
+
 	dev->phone = phone;
 	list_append(&dev->link, &devices);
Index: uspace/lib/drv/include/usb_iface.h
===================================================================
--- uspace/lib/drv/include/usb_iface.h	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/drv/include/usb_iface.h	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,6 @@
  */
 
-/** @addtogroup libdrv usb
+/** @addtogroup libdrv
+ * @addtogroup usb
  * @{
  */
Index: uspace/lib/drv/include/usbhc_iface.h
===================================================================
--- uspace/lib/drv/include/usbhc_iface.h	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/drv/include/usbhc_iface.h	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,6 @@
  */
 
-/** @addtogroup libdrv usb
+/** @addtogroup libdrv
+ * @addtogroup usb
  * @{
  */
Index: uspace/lib/usb/include/usb/classes/classes.h
===================================================================
--- uspace/lib/usb/include/usb/classes/classes.h	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/include/usb/classes/classes.h	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
Index: uspace/lib/usb/include/usb/classes/hid.h
===================================================================
--- uspace/lib/usb/include/usb/classes/hid.h	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/include/usb/classes/hid.h	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
Index: uspace/lib/usb/include/usb/classes/hidparser.h
===================================================================
--- uspace/lib/usb/include/usb/classes/hidparser.h	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/include/usb/classes/hidparser.h	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
Index: uspace/lib/usb/include/usb/classes/hidut.h
===================================================================
--- uspace/lib/usb/include/usb/classes/hidut.h	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/include/usb/classes/hidut.h	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
Index: uspace/lib/usb/include/usb/classes/hidutkbd.h
===================================================================
--- uspace/lib/usb/include/usb/classes/hidutkbd.h	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/include/usb/classes/hidutkbd.h	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
Index: uspace/lib/usb/include/usb/classes/hub.h
===================================================================
--- uspace/lib/usb/include/usb/classes/hub.h	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/include/usb/classes/hub.h	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
@@ -68,5 +68,5 @@
  *	For more information see Universal Serial Bus Specification Revision 1.1 chapter 11.16.2
  */
-typedef struct hub_descriptor_type{
+typedef struct usb_hub_descriptor_type {
     /** Number of bytes in this descriptor, including this byte */
     //uint8_t bDescLength;
Index: uspace/lib/usb/include/usb/debug.h
===================================================================
--- uspace/lib/usb/include/usb/debug.h	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/include/usb/debug.h	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
@@ -45,2 +45,6 @@
 
 #endif
+/**
+ * @}
+ */
+
Index: uspace/lib/usb/include/usb/descriptor.h
===================================================================
--- uspace/lib/usb/include/usb/descriptor.h	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/include/usb/descriptor.h	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
Index: uspace/lib/usb/include/usb/devreq.h
===================================================================
--- uspace/lib/usb/include/usb/devreq.h	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/include/usb/devreq.h	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
Index: uspace/lib/usb/include/usb/hcd.h
===================================================================
--- uspace/lib/usb/include/usb/hcd.h	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/include/usb/hcd.h	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
@@ -81,4 +81,6 @@
     devman_handle_t);
 
-
 #endif
+/**
+ * @}
+ */
Index: uspace/lib/usb/include/usb/hcdhubd.h
===================================================================
--- uspace/lib/usb/include/usb/hcdhubd.h	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/include/usb/hcdhubd.h	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
Index: uspace/lib/usb/include/usb/usb.h
===================================================================
--- uspace/lib/usb/include/usb/usb.h	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/include/usb/usb.h	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
Index: uspace/lib/usb/include/usb/usbdrv.h
===================================================================
--- uspace/lib/usb/include/usb/usbdrv.h	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/include/usb/usbdrv.h	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
Index: uspace/lib/usb/src/addrkeep.c
===================================================================
--- uspace/lib/usb/src/addrkeep.c	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/src/addrkeep.c	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
Index: uspace/lib/usb/src/class.c
===================================================================
--- uspace/lib/usb/src/class.c	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/src/class.c	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
Index: uspace/lib/usb/src/debug.c
===================================================================
--- uspace/lib/usb/src/debug.c	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/src/debug.c	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
Index: uspace/lib/usb/src/dp.c
===================================================================
--- uspace/lib/usb/src/dp.c	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/src/dp.c	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -45,5 +45,5 @@
  * @param data Parser data.
  * @param ptr Pointer to be verified.
- * @return Whether @ptr points inside <code>data->data</code> field.
+ * @return Whether @p ptr points inside <code>data->data</code> field.
  */
 static bool is_valid_descriptor_pointer(usb_dp_parser_data_t *data,
Index: uspace/lib/usb/src/drvpsync.c
===================================================================
--- uspace/lib/usb/src/drvpsync.c	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/src/drvpsync.c	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
Index: uspace/lib/usb/src/hcdhubd.c
===================================================================
--- uspace/lib/usb/src/hcdhubd.c	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/src/hcdhubd.c	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
Index: uspace/lib/usb/src/hcdhubd_private.h
===================================================================
--- uspace/lib/usb/src/hcdhubd_private.h	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/src/hcdhubd_private.h	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
Index: uspace/lib/usb/src/hcdrv.c
===================================================================
--- uspace/lib/usb/src/hcdrv.c	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/src/hcdrv.c	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
Index: uspace/lib/usb/src/hidparser.c
===================================================================
--- uspace/lib/usb/src/hidparser.c	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/src/hidparser.c	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
Index: uspace/lib/usb/src/localdrv.c
===================================================================
--- uspace/lib/usb/src/localdrv.c	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/src/localdrv.c	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
Index: uspace/lib/usb/src/recognise.c
===================================================================
--- uspace/lib/usb/src/recognise.c	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/src/recognise.c	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
@@ -39,4 +39,10 @@
 #include <errno.h>
 
+/** Callback for getting host controller handle.
+ *
+ * @param dev Device in question.
+ * @param[out] handle Devman handle of the host controller.
+ * @return Error code.
+ */
 static int usb_iface_get_hc_handle(device_t *dev, devman_handle_t *handle)
 {
@@ -237,4 +243,5 @@
  * @param matches Match ids list to add matches to.
  * @param address USB address of the attached device.
+ * @param config_count Number of configurations the device has.
  * @return Error code.
  */
@@ -342,7 +349,8 @@
 /** Probe for device kind and register it in devman.
  *
- * @param hc Open phone to the host controller.
- * @param parent Parent device.
- * @param address Address of the (unknown) attached device.
+ * @param[in] hc Open phone to the host controller.
+ * @param[in] parent Parent device.
+ * @param[in] address Address of the (unknown) attached device.
+ * @param[out] child_handle Handle of the child device.
  * @return Error code.
  */
Index: uspace/lib/usb/src/remotedrv.c
===================================================================
--- uspace/lib/usb/src/remotedrv.c	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/src/remotedrv.c	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
Index: uspace/lib/usb/src/usb.c
===================================================================
--- uspace/lib/usb/src/usb.c	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/src/usb.c	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
Index: uspace/lib/usb/src/usbdrv.c
===================================================================
--- uspace/lib/usb/src/usbdrv.c	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/src/usbdrv.c	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
Index: uspace/lib/usb/src/usbdrvreq.c
===================================================================
--- uspace/lib/usb/src/usbdrvreq.c	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usb/src/usbdrvreq.c	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libusb usb
+/** @addtogroup libusb
  * @{
  */
@@ -188,5 +188,5 @@
  * @param[in] phone Open phone to HC driver.
  * @param[in] old_address Current address.
- * @param[in] address Address to be set.
+ * @param[in] new_address Address to be set.
  * @return Error code.
  */
Index: uspace/lib/usbvirt/src/main.c
===================================================================
--- uspace/lib/usbvirt/src/main.c	(revision 0cfc68f060ff8c44e176a4810205e2255835cb09)
+++ uspace/lib/usbvirt/src/main.c	(revision 3b77628b520eb4eb2108181a33848556e4d06e36)
@@ -183,5 +183,5 @@
 /** Create necessary phones for communication with virtual HCD.
  * This function wraps following calls:
- * -# open <code>/dev/devices/\\virt\\usbhc for reading
+ * -# open <code>/dev/devices/\\virt\\usbhc</code> for reading
  * -# access phone of file opened in previous step
  * -# create callback through just opened phone
