Index: uspace/drv/bus/usb/vhc/transfer.c
===================================================================
--- uspace/drv/bus/usb/vhc/transfer.c	(revision 21be46a6b9bbebc1f385744f5b49b3d39d3837fd)
+++ uspace/drv/bus/usb/vhc/transfer.c	(revision 8f68913ffa52d241510b0d7f1fd056b1b456661b)
@@ -206,10 +206,9 @@
 
 	if (transfer->direction == USB_DIRECTION_IN) {
-		transfer->callback_in(transfer->ddf_fun, outcome,
+		transfer->callback_in(outcome,
 		    data_transfer_size, transfer->callback_arg);
 	} else {
 		assert(transfer->direction == USB_DIRECTION_OUT);
-		transfer->callback_out(transfer->ddf_fun, outcome,
-		    transfer->callback_arg);
+		transfer->callback_out(outcome, transfer->callback_arg);
 	}
 
Index: uspace/lib/drv/generic/remote_usbhc.c
===================================================================
--- uspace/lib/drv/generic/remote_usbhc.c	(revision 21be46a6b9bbebc1f385744f5b49b3d39d3837fd)
+++ uspace/lib/drv/generic/remote_usbhc.c	(revision 8f68913ffa52d241510b0d7f1fd056b1b456661b)
@@ -463,6 +463,5 @@
 }
 
-static void callback_out(ddf_fun_t *fun,
-    int outcome, void *arg)
+static void callback_out(int outcome, void *arg)
 {
 	async_transaction_t *trans = arg;
@@ -473,6 +472,5 @@
 }
 
-static void callback_in(ddf_fun_t *fun,
-    int outcome, size_t actual_size, void *arg)
+static void callback_in(int outcome, size_t actual_size, void *arg)
 {
 	async_transaction_t *trans = (async_transaction_t *)arg;
Index: uspace/lib/drv/include/usbhc_iface.h
===================================================================
--- uspace/lib/drv/include/usbhc_iface.h	(revision 21be46a6b9bbebc1f385744f5b49b3d39d3837fd)
+++ uspace/lib/drv/include/usbhc_iface.h	(revision 8f68913ffa52d241510b0d7f1fd056b1b456661b)
@@ -58,9 +58,8 @@
 
 /** Callback for outgoing transfer. */
-typedef void (*usbhc_iface_transfer_out_callback_t)(ddf_fun_t *, int, void *);
+typedef void (*usbhc_iface_transfer_out_callback_t)(int, void *);
 
 /** Callback for incoming transfer. */
-typedef void (*usbhc_iface_transfer_in_callback_t)(ddf_fun_t *,
-    int, size_t, void *);
+typedef void (*usbhc_iface_transfer_in_callback_t)(int, size_t, void *);
 
 /** USB host controller communication interface. */
Index: uspace/lib/usbhost/src/usb_transfer_batch.c
===================================================================
--- uspace/lib/usbhost/src/usb_transfer_batch.c	(revision 21be46a6b9bbebc1f385744f5b49b3d39d3837fd)
+++ uspace/lib/usbhost/src/usb_transfer_batch.c	(revision 8f68913ffa52d241510b0d7f1fd056b1b456661b)
@@ -141,5 +141,5 @@
 			    instance->setup_buffer);
 		}
-		instance->callback_out(instance->fun, error, instance->arg);
+		instance->callback_out(error, instance->arg);
 	}
 
@@ -150,6 +150,5 @@
 	                memcpy(instance->buffer, data, safe_size);
 		}
-		instance->callback_in(instance->fun, error,
-		    safe_size, instance->arg);
+		instance->callback_in(error, safe_size, instance->arg);
 	}
 }
