Index: uspace/lib/drv/generic/driver.c
===================================================================
--- uspace/lib/drv/generic/driver.c	(revision ad79d8088692a194ad89ca818cbb53f029b5c464)
+++ uspace/lib/drv/generic/driver.c	(revision 0995cd670446b09f891a216bc92fc56b5dc52149)
@@ -390,5 +390,6 @@
  */
 int child_device_register_wrapper(device_t *parent, const char *child_name,
-    const char *child_match_id, int child_match_score)
+    const char *child_match_id, int child_match_score,
+    devman_handle_t *child_handle)
 {
 	device_t *child = NULL;
@@ -418,4 +419,7 @@
 		goto failure;
 
+	if (child_handle != NULL) {
+		*child_handle = child->handle;
+	}
 	return EOK;
 
Index: uspace/lib/drv/include/driver.h
===================================================================
--- uspace/lib/drv/include/driver.h	(revision ad79d8088692a194ad89ca818cbb53f029b5c464)
+++ uspace/lib/drv/include/driver.h	(revision 0995cd670446b09f891a216bc92fc56b5dc52149)
@@ -199,5 +199,6 @@
 
 int child_device_register(device_t *, device_t *);
-int child_device_register_wrapper(device_t *, const char *, const char *, int);
+int child_device_register_wrapper(device_t *, const char *, const char *, int,
+    devman_handle_t *);
 
 
