Index: uspace/drv/test2/test2.c
===================================================================
--- uspace/drv/test2/test2.c	(revision bab63886b1d1a9c8c49900dc50c39ee2b0c64763)
+++ uspace/drv/test2/test2.c	(revision 97a62fec5ae8981a95bc5036a2fda4084d6bea01)
@@ -82,5 +82,6 @@
 {
 	device_t *dev = (device_t *) arg;
-	function_t *fun;
+	function_t *fun_a;
+	int rc;
 
 	async_usleep(1000);
@@ -91,11 +92,17 @@
 	    "test1", "virtual&test1", 10);
 
-	fun = create_function();
-	fun->ftype = fun_exposed;
-	fun->name = "a";
+	fun_a = ddf_fun_create(dev, fun_exposed, "a");
+	if (fun_a == NULL) {
+		printf(NAME ": error creating function 'a'.\n");
+		return ENOMEM;
+	}
 
-	register_function(fun, dev);
+	rc = ddf_fun_bind(fun_a);
+	if (rc != EOK) {
+		printf(NAME ": error binding function 'a'.\n");
+		return rc;
+	}
 
-	add_function_to_class(fun, "virtual");
+	add_function_to_class(fun_a, "virtual");
 
 	return EOK;
