Index: uspace/lib/usbdev/src/hub.c
===================================================================
--- uspace/lib/usbdev/src/hub.c	(revision f8d43aaa6d788d9c69da1ce5abb8dfc69acc7a0d)
+++ uspace/lib/usbdev/src/hub.c	(revision 9e2132ab753037f2efee552bfdbd219511065e77)
@@ -158,5 +158,5 @@
     usb_hc_connection_t *hc_conn, usb_speed_t dev_speed,
     int (*enable_port)(void *arg), void *arg, usb_address_t *assigned_address,
-    ddf_dev_ops_t *dev_ops, void *new_dev_data, ddf_fun_t **new_fun)
+    ddf_fun_t **new_fun)
 {
 	if ((new_fun == NULL) || (hc_conn == NULL))
@@ -273,5 +273,5 @@
 	ddf_fun_t *child_fun;
 	rc = usb_device_register_child_in_devman(&ctrl_pipe,
-	    parent, dev_ops, new_dev_data, &child_fun);
+	    parent, &child_fun);
 	if (rc != EOK) {
 		goto leave_release_free_address;
Index: uspace/lib/usbdev/src/recognise.c
===================================================================
--- uspace/lib/usbdev/src/recognise.c	(revision f8d43aaa6d788d9c69da1ce5abb8dfc69acc7a0d)
+++ uspace/lib/usbdev/src/recognise.c	(revision 9e2132ab753037f2efee552bfdbd219511065e77)
@@ -33,7 +33,4 @@
  * Functions for recognition of attached devices.
  */
-
-/** XXX Fix this */
-#define _DDF_DATA_IMPLANT
 
 #include <sys/types.h>
@@ -318,14 +315,8 @@
  */
 int usb_device_register_child_in_devman(usb_pipe_t *ctrl_pipe,
-    ddf_dev_t *parent, ddf_dev_ops_t *dev_ops, void *dev_data,
-    ddf_fun_t **child_fun)
+    ddf_dev_t *parent, ddf_fun_t **child_fun)
 {
 	if (child_fun == NULL || ctrl_pipe == NULL)
 		return EINVAL;
-	
-	if (!dev_ops && dev_data) {
-		usb_log_warning("Using standard fun ops with arbitrary "
-		    "driver data. This does not have to work.\n");
-	}
 	
 	/** Index to append after device name for uniqueness. */
@@ -354,26 +345,18 @@
 	}
 	
-	if (dev_ops != NULL)
-		ddf_fun_set_ops(child, dev_ops);
-	else
-		ddf_fun_set_ops(child, &child_ops);
-	
-	ddf_fun_data_implant(child, dev_data);
-	
+	ddf_fun_set_ops(child, &child_ops);
 	/*
 	 * Store the attached device in fun
 	 * driver data if there is no other data
 	 */
-	if (!dev_data) {
-		usb_hub_attached_device_t *new_device = ddf_fun_data_alloc(
-		    child, sizeof(usb_hub_attached_device_t));
-		if (!new_device) {
-			rc = ENOMEM;
-			goto failure;
-		}
-		
-		new_device->address = ctrl_pipe->wire->address;
-		new_device->fun = child;
-	}
+	usb_hub_attached_device_t *new_device = ddf_fun_data_alloc(
+	    child, sizeof(usb_hub_attached_device_t));
+	if (!new_device) {
+		rc = ENOMEM;
+		goto failure;
+	}
+	
+	new_device->address = ctrl_pipe->wire->address;
+	new_device->fun = child;
 	
 	match_id_list_t match_ids;
