Index: uspace/drv/bus/usb/ohci/endpoint_list.c
===================================================================
--- uspace/drv/bus/usb/ohci/endpoint_list.c	(revision 11a3b5f8077884523736f0d495a7e62c19316c40)
+++ uspace/drv/bus/usb/ohci/endpoint_list.c	(revision 0d4b110bdd97ef1134c38e518cad947aa26f5cf5)
@@ -34,7 +34,11 @@
  */
 
+#include <assert.h>
 #include <errno.h>
+#include <libarch/barrier.h>
+
 #include <usb/debug.h>
-#include <libarch/barrier.h>
+
+#include "utils/malloc32.h"
 #include "endpoint_list.h"
 
Index: uspace/drv/bus/usb/ohci/endpoint_list.h
===================================================================
--- uspace/drv/bus/usb/ohci/endpoint_list.h	(revision 11a3b5f8077884523736f0d495a7e62c19316c40)
+++ uspace/drv/bus/usb/ohci/endpoint_list.h	(revision 0d4b110bdd97ef1134c38e518cad947aa26f5cf5)
@@ -35,5 +35,8 @@
 #define DRV_OHCI_ENDPOINT_LIST_H
 
+#include <adt/list.h>
+#include <assert.h>
 #include <fibril_synch.h>
+#include <sys/types.h>
 
 #include "ohci_endpoint.h"
@@ -65,4 +68,5 @@
 	assert(instance);
 	free32(instance->list_head);
+	instance->list_head = NULL;
 }
 
Index: uspace/drv/bus/usb/ohci/hc.c
===================================================================
--- uspace/drv/bus/usb/ohci/hc.c	(revision 11a3b5f8077884523736f0d495a7e62c19316c40)
+++ uspace/drv/bus/usb/ohci/hc.c	(revision 0d4b110bdd97ef1134c38e518cad947aa26f5cf5)
@@ -34,15 +34,21 @@
  */
 
+#include <assert.h>
+#include <async.h>
 #include <errno.h>
+#include <macros.h>
+#include <mem.h>
+#include <stdlib.h>
 #include <str_error.h>
-#include <adt/list.h>
-#include <libarch/ddi.h>
+#include <sys/types.h>
 
 #include <usb/debug.h>
 #include <usb/usb.h>
 
-#include "macros.h"
+#include "ohci_endpoint.h"
+#include "ohci_batch.h"
+#include "utils/malloc32.h"
+
 #include "hc.h"
-#include "ohci_endpoint.h"
 
 #define OHCI_USED_INTERRUPTS \
Index: uspace/drv/bus/usb/ohci/hc.h
===================================================================
--- uspace/drv/bus/usb/ohci/hc.h	(revision 11a3b5f8077884523736f0d495a7e62c19316c40)
+++ uspace/drv/bus/usb/ohci/hc.h	(revision 0d4b110bdd97ef1134c38e518cad947aa26f5cf5)
@@ -35,14 +35,17 @@
 #define DRV_OHCI_HC_H
 
+#include <adt/list.h>
+#include <ddi.h>
+#include <ddf/driver.h>
+#include <device/hw_res_parsed.h>
 #include <fibril.h>
 #include <fibril_synch.h>
-#include <adt/list.h>
-#include <ddi.h>
-#include <ddf/interrupt.h>
+#include <stdbool.h>
+#include <sys/types.h>
 
-#include <usb/usb.h>
 #include <usb/host/hcd.h>
+#include <usb/host/endpoint.h>
+#include <usb/host/usb_transfer_batch.h>
 
-#include "ohci_batch.h"
 #include "ohci_regs.h"
 #include "ohci_rh.h"
Index: uspace/drv/bus/usb/ohci/hw_struct/endpoint_descriptor.c
===================================================================
--- uspace/drv/bus/usb/ohci/hw_struct/endpoint_descriptor.c	(revision 11a3b5f8077884523736f0d495a7e62c19316c40)
+++ uspace/drv/bus/usb/ohci/hw_struct/endpoint_descriptor.c	(revision 0d4b110bdd97ef1134c38e518cad947aa26f5cf5)
@@ -32,6 +32,15 @@
  * @brief OHCI driver
  */
+
+#include <assert.h>
+#include <macros.h>
+#include <mem.h>
+
+#include <usb/usb.h>
+
+#include "../utils/malloc32.h"
+#include "mem_access.h"
+
 #include "endpoint_descriptor.h"
-#include "macros.h"
 
 /** USB direction to OHCI values translation table. */
@@ -49,5 +58,5 @@
  * @param td TD to put in the list.
  *
- * If @param ep is NULL, dummy ED is initalized with only skip flag set.
+ * If @param ep is NULL, dummy ED is initialized with only skip flag set.
  */
 void ed_init(ed_t *instance, const endpoint_t *ep, const td_t *td)
Index: uspace/drv/bus/usb/ohci/hw_struct/endpoint_descriptor.h
===================================================================
--- uspace/drv/bus/usb/ohci/hw_struct/endpoint_descriptor.h	(revision 11a3b5f8077884523736f0d495a7e62c19316c40)
+++ uspace/drv/bus/usb/ohci/hw_struct/endpoint_descriptor.h	(revision 0d4b110bdd97ef1134c38e518cad947aa26f5cf5)
@@ -36,5 +36,6 @@
 
 #include <assert.h>
-#include <stdint.h>
+#include <stdbool.h>
+#include <sys/types.h>
 
 #include <usb/host/endpoint.h>
Index: uspace/drv/bus/usb/ohci/hw_struct/hcca.h
===================================================================
--- uspace/drv/bus/usb/ohci/hw_struct/hcca.h	(revision 11a3b5f8077884523736f0d495a7e62c19316c40)
+++ uspace/drv/bus/usb/ohci/hw_struct/hcca.h	(revision 0d4b110bdd97ef1134c38e518cad947aa26f5cf5)
@@ -35,6 +35,6 @@
 #define DRV_OHCI_HW_STRUCT_HCCA_H
 
-#include <stdint.h>
 #include <malloc.h>
+#include <sys/types.h>
 
 #include "mem_access.h"
Index: uspace/drv/bus/usb/ohci/hw_struct/iso_transfer_descriptor.h
===================================================================
--- uspace/drv/bus/usb/ohci/hw_struct/iso_transfer_descriptor.h	(revision 11a3b5f8077884523736f0d495a7e62c19316c40)
+++ uspace/drv/bus/usb/ohci/hw_struct/iso_transfer_descriptor.h	(revision 0d4b110bdd97ef1134c38e518cad947aa26f5cf5)
@@ -35,5 +35,5 @@
 #define DRV_OHCI_HW_STRUCT_ISO_TRANSFER_DESCRIPTOR_H
 
-#include <stdint.h>
+#include <sys/types.h>
 
 #include "completion_codes.h"
Index: uspace/drv/bus/usb/ohci/hw_struct/transfer_descriptor.c
===================================================================
--- uspace/drv/bus/usb/ohci/hw_struct/transfer_descriptor.c	(revision 11a3b5f8077884523736f0d495a7e62c19316c40)
+++ uspace/drv/bus/usb/ohci/hw_struct/transfer_descriptor.c	(revision 0d4b110bdd97ef1134c38e518cad947aa26f5cf5)
@@ -32,7 +32,13 @@
  * @brief OHCI driver
  */
+
+#include <assert.h>
+#include <mem.h>
+
 #include <usb/usb.h>
-#include <mem.h>
+
 #include "../utils/malloc32.h"
+#include "completion_codes.h"
+#include "mem_access.h"
 #include "transfer_descriptor.h"
 
Index: uspace/drv/bus/usb/ohci/hw_struct/transfer_descriptor.h
===================================================================
--- uspace/drv/bus/usb/ohci/hw_struct/transfer_descriptor.h	(revision 11a3b5f8077884523736f0d495a7e62c19316c40)
+++ uspace/drv/bus/usb/ohci/hw_struct/transfer_descriptor.h	(revision 0d4b110bdd97ef1134c38e518cad947aa26f5cf5)
@@ -35,4 +35,5 @@
 #define DRV_OHCI_HW_STRUCT_TRANSFER_DESCRIPTOR_H
 
+#include <assert.h>
 #include <stdbool.h>
 #include <stdint.h>
Index: uspace/drv/bus/usb/ohci/main.c
===================================================================
--- uspace/drv/bus/usb/ohci/main.c	(revision 11a3b5f8077884523736f0d495a7e62c19316c40)
+++ uspace/drv/bus/usb/ohci/main.c	(revision 0d4b110bdd97ef1134c38e518cad947aa26f5cf5)
@@ -33,6 +33,9 @@
  * Main routines of OHCI driver.
  */
+
+#include <assert.h>
 #include <ddf/driver.h>
 #include <errno.h>
+#include <io/log.h>
 #include <str_error.h>
 
Index: uspace/drv/bus/usb/ohci/ohci.c
===================================================================
--- uspace/drv/bus/usb/ohci/ohci.c	(revision 11a3b5f8077884523736f0d495a7e62c19316c40)
+++ uspace/drv/bus/usb/ohci/ohci.c	(revision 0d4b110bdd97ef1134c38e518cad947aa26f5cf5)
@@ -34,13 +34,20 @@
  */
 
+#include <assert.h>
 #include <errno.h>
+#include <ddf/interrupt.h>
+#include <device/hw_res_parsed.h>
+#include <stdbool.h>
 #include <str_error.h>
-#include <ddf/interrupt.h>
+#include <sys/types.h>
+
 #include <usb/usb.h>
 #include <usb/debug.h>
 
 #include <usb/host/ddf_helpers.h>
+#include <usb/host/usb_bus.h>
 
 #include "ohci.h"
+#include "ohci_endpoint.h"
 #include "hc.h"
 
Index: uspace/drv/bus/usb/ohci/ohci_batch.c
===================================================================
--- uspace/drv/bus/usb/ohci/ohci_batch.c	(revision 11a3b5f8077884523736f0d495a7e62c19316c40)
+++ uspace/drv/bus/usb/ohci/ohci_batch.c	(revision 0d4b110bdd97ef1134c38e518cad947aa26f5cf5)
@@ -32,7 +32,10 @@
  * @brief OHCI driver USB transaction structure
  */
+
+#include <assert.h>
 #include <errno.h>
-#include <str_error.h>
 #include <macros.h>
+#include <mem.h>
+#include <stdbool.h>
 
 #include <usb/usb.h>
Index: uspace/drv/bus/usb/ohci/ohci_batch.h
===================================================================
--- uspace/drv/bus/usb/ohci/ohci_batch.h	(revision 11a3b5f8077884523736f0d495a7e62c19316c40)
+++ uspace/drv/bus/usb/ohci/ohci_batch.h	(revision 0d4b110bdd97ef1134c38e518cad947aa26f5cf5)
@@ -36,6 +36,6 @@
 
 #include <adt/list.h>
-#include <usbhc_iface.h>
-#include <usb/usb.h>
+#include <assert.h>
+#include <stdbool.h>
 #include <usb/host/usb_transfer_batch.h>
 
Index: uspace/drv/bus/usb/ohci/ohci_endpoint.c
===================================================================
--- uspace/drv/bus/usb/ohci/ohci_endpoint.c	(revision 11a3b5f8077884523736f0d495a7e62c19316c40)
+++ uspace/drv/bus/usb/ohci/ohci_endpoint.c	(revision 0d4b110bdd97ef1134c38e518cad947aa26f5cf5)
@@ -32,4 +32,8 @@
  * @brief OHCI driver
  */
+
+#include <assert.h>
+#include <stdlib.h>
+
 #include "utils/malloc32.h"
 #include "ohci_endpoint.h"
Index: uspace/drv/bus/usb/ohci/ohci_rh.c
===================================================================
--- uspace/drv/bus/usb/ohci/ohci_rh.c	(revision 11a3b5f8077884523736f0d495a7e62c19316c40)
+++ uspace/drv/bus/usb/ohci/ohci_rh.c	(revision 0d4b110bdd97ef1134c38e518cad947aa26f5cf5)
@@ -32,6 +32,18 @@
  * @brief OHCI driver
  */
+
 #include <assert.h>
+#include <errno.h>
+#include <mem.h>
+#include <sys/types.h>
+
+#include <usb/classes/hub.h>
 #include <usb/debug.h>
+#include <usb/descriptor.h>
+#include <usb/request.h>
+#include <usb/usb.h>
+
+#include <usb/host/endpoint.h>
+#include <usbvirt/device.h>
 
 #include "ohci_rh.h"
Index: uspace/drv/bus/usb/ohci/ohci_rh.h
===================================================================
--- uspace/drv/bus/usb/ohci/ohci_rh.h	(revision 11a3b5f8077884523736f0d495a7e62c19316c40)
+++ uspace/drv/bus/usb/ohci/ohci_rh.h	(revision 0d4b110bdd97ef1134c38e518cad947aa26f5cf5)
@@ -34,4 +34,7 @@
 #ifndef DRV_OHCI_OHCI_RH_H
 #define DRV_OHCI_OHCI_RH_H
+
+#include <assert.h>
+#include <sys/types.h>
 
 #include <usb/usb.h>
Index: uspace/drv/bus/usb/ohci/utils/malloc32.h
===================================================================
--- uspace/drv/bus/usb/ohci/utils/malloc32.h	(revision 11a3b5f8077884523736f0d495a7e62c19316c40)
+++ uspace/drv/bus/usb/ohci/utils/malloc32.h	(revision 0d4b110bdd97ef1134c38e518cad947aa26f5cf5)
@@ -35,10 +35,8 @@
 #define DRV_OHCI_UTILS_MALLOC32_H
 
-#include <assert.h>
-#include <malloc.h>
-#include <unistd.h>
+#include <as.h>
 #include <errno.h>
-#include <mem.h>
-#include <as.h>
+#include <stdlib.h>
+#include <sys/types.h>
 
 /* Generic TDs and EDs require 16byte alignment,
