Index: uspace/drv/infrastructure/rootamdm37x/rootamdm37x.c
===================================================================
--- uspace/drv/infrastructure/rootamdm37x/rootamdm37x.c	(revision 7a6d91b5a4fe78c9ea73597e1ffd2e9acb93d4b3)
+++ uspace/drv/infrastructure/rootamdm37x/rootamdm37x.c	(revision 878b76421f16ceac6db15aa7063cece434107fbd)
@@ -116,5 +116,5 @@
 };
 
-static bool rootamdm37x_add_fun(ddf_dev_t *dev, const char *name,
+static int rootamdm37x_add_fun(ddf_dev_t *dev, const char *name,
     const char *str_match_id, const rootamdm37x_fun_t *fun)
 {
@@ -128,7 +128,8 @@
 	
 	/* Add match id */
-	if (ddf_fun_add_match_id(fnode, str_match_id, 100) != EOK) {
+	int ret = ddf_fun_add_match_id(fnode, str_match_id, 100);
+	if (ret != EOK) {
 		ddf_fun_destroy(fnode);
-		return false;
+		return ret;
 	}
 	
@@ -138,12 +139,13 @@
 	
 	/* Register function. */
-	if (ddf_fun_bind(fnode) != EOK) {
+	ret = ddf_fun_bind(fnode);
+	if (ret != EOK) {
 		ddf_msg(LVL_ERROR, "Failed binding function %s.", name);
 		// TODO This will try to free our data!
 		ddf_fun_destroy(fnode);
-		return false;
-	}
-	
-	return true;
+		return ret;
+	}
+	
+	return EOK;
 }
 
@@ -183,8 +185,8 @@
 
 	/* Register functions */
-	if (!rootamdm37x_add_fun(dev, "ohci", "usb/host=ohci", &ohci))
+	if (rootamdm37x_add_fun(dev, "ohci", "usb/host=ohci", &ohci) != EOK)
 		ddf_msg(LVL_ERROR, "Failed to add OHCI function for "
 		    "BeagleBoard-xM platform.");
-	if (!rootamdm37x_add_fun(dev, "ehci", "usb/host=ehci", &ehci))
+	if (rootamdm37x_add_fun(dev, "ehci", "usb/host=ehci", &ehci) != EOK)
 		ddf_msg(LVL_ERROR, "Failed to add EHCI function for "
 		    "BeagleBoard-xM platform.");
