Index: uspace/lib/drv/generic/dev_iface.c
===================================================================
--- uspace/lib/drv/generic/dev_iface.c	(revision 5fdd7c393a9b587cf27839af315e5f0442583173)
+++ uspace/lib/drv/generic/dev_iface.c	(revision 774e6d1abebc631f873d85e623bf7aa61b0aecea)
@@ -36,4 +36,6 @@
  */
 
+#include <assert.h>
+
 #include "dev_iface.h"
 #include "remote_hw_res.h"
Index: uspace/lib/drv/include/dev_iface.h
===================================================================
--- uspace/lib/drv/include/dev_iface.h	(revision 5fdd7c393a9b587cf27839af315e5f0442583173)
+++ uspace/lib/drv/include/dev_iface.h	(revision 774e6d1abebc631f873d85e623bf7aa61b0aecea)
@@ -36,10 +36,35 @@
 #define LIBDRV_DEV_IFACE_H_
 
-#include "driver.h"
+#include <ipc/dev_iface.h>
 
-/* TODO declare device interface structures here */
+/*
+ * Device interface
+ */
+
+struct device;
+
+/*
+ * First two parameters: device and interface structure registered by the
+ * devices driver.
+ */
+typedef void remote_iface_func_t(struct device *, void *, ipc_callid_t,
+    ipc_call_t *);
+typedef remote_iface_func_t *remote_iface_func_ptr_t;
+typedef void remote_handler_t(struct device *, ipc_callid_t, ipc_call_t *);
+
+typedef struct {
+	size_t method_count;
+	remote_iface_func_ptr_t *methods;
+} remote_iface_t;
+
+typedef struct {
+	remote_iface_t *ifaces[DEV_IFACE_COUNT];
+} iface_dipatch_table_t;
+
+extern remote_iface_t *get_remote_iface(int);
+extern remote_iface_func_ptr_t get_remote_method(remote_iface_t *, sysarg_t);
+
 
 extern bool is_valid_iface_idx(int);
-
 
 #endif
Index: uspace/lib/drv/include/driver.h
===================================================================
--- uspace/lib/drv/include/driver.h	(revision 5fdd7c393a9b587cf27839af315e5f0442583173)
+++ uspace/lib/drv/include/driver.h	(revision 774e6d1abebc631f873d85e623bf7aa61b0aecea)
@@ -47,31 +47,8 @@
 #include <malloc.h>
 
+#include "dev_iface.h"
+
 struct device;
 typedef struct device device_t;
-
-/*
- * Device interface
- */
-
-/*
- * First two parameters: device and interface structure registered by the
- * devices driver.
- */
-typedef void remote_iface_func_t(device_t *, void *, ipc_callid_t,
-    ipc_call_t *);
-typedef remote_iface_func_t *remote_iface_func_ptr_t;
-typedef void remote_handler_t(device_t *, ipc_callid_t, ipc_call_t *);
-
-typedef struct {
-	size_t method_count;
-	remote_iface_func_ptr_t *methods;
-} remote_iface_t;
-
-typedef struct {
-	remote_iface_t *ifaces[DEV_IFACE_COUNT];
-} iface_dipatch_table_t;
-
-extern remote_iface_t *get_remote_iface(int);
-extern remote_iface_func_ptr_t get_remote_method(remote_iface_t *, sysarg_t);
 
 /*
@@ -137,5 +114,4 @@
 	link_t link;
 };
-
 
 /*
