[U-Boot] [PATCH v4 4/4] drivers:usb:common:fsl-dt-fixup: fix fdt_usb_get_node_type() to return error code

Sriram Dash sriram.dash at nxp.com
Fri Mar 11 07:26:16 CET 2016


fdt_usb_get_node_type() to return error code instead of pointer.

Signed-off-by: Sriram Dash <sriram.dash at nxp.com>
Signed-off-by: Rajesh Bhagat <rajesh.bhagat at nxp.com>
---
 drivers/usb/common/fsl-dt-fixup.c | 25 ++++++++++++++-----------
 1 file changed, 14 insertions(+), 11 deletions(-)

diff --git a/drivers/usb/common/fsl-dt-fixup.c b/drivers/usb/common/fsl-dt-fixup.c
index b574127..f7137e4 100644
--- a/drivers/usb/common/fsl-dt-fixup.c
+++ b/drivers/usb/common/fsl-dt-fixup.c
@@ -19,8 +19,8 @@
 #define CONFIG_USB_MAX_CONTROLLER_COUNT 1
 #endif
 
-static char *fdt_usb_get_node_type(void *blob, int start_offset,
-					 int *node_offset);
+static int fdt_usb_get_node_type(void *blob, int start_offset,
+				 int *node_offset, char **node_type);
 
 char compat_usb_fsl[] = {
 	"fsl-usb2-mph" "\0"
@@ -37,8 +37,9 @@ static int fdt_fixup_usb_mode_phy_type(void *blob, const char *mode,
 	int node_offset;
 	int err;
 
-	node_type = fdt_usb_get_node_type(blob, start_offset, &node_offset);
-	if (!node_type)
+	err = fdt_usb_get_node_type(blob, start_offset,
+				    &node_offset, &node_type);
+	if (err < 0)
 		return -1;
 
 	if (mode) {
@@ -60,11 +61,11 @@ static int fdt_fixup_usb_mode_phy_type(void *blob, const char *mode,
 	return node_offset;
 }
 
-static char *fdt_usb_get_node_type(void *blob, int start_offset,
-					 int *node_offset)
+static int fdt_usb_get_node_type(void *blob, int start_offset,
+				 int *node_offset, char **node_type)
 {
-	char *node_type = NULL;
 	char *node_name, *nxt;
+	int ret = -1;
 
 	for (node_name = compat_usb_fsl; *node_name; node_name = nxt + 1) {
 		nxt = node_name;
@@ -73,11 +74,12 @@ static char *fdt_usb_get_node_type(void *blob, int start_offset,
 		*node_offset = fdt_node_offset_by_compatible
 			       (blob, start_offset, node_name);
 		if (*node_offset >= 0) {
-			node_type = node_name;
+			*node_type = node_name;
+			ret = 0;
 			break;
 		}
 	}
-	return node_type;
+	return ret;
 }
 
 static int fdt_fixup_usb_erratum(void *blob, const char *prop_erratum,
@@ -86,8 +88,9 @@ static int fdt_fixup_usb_erratum(void *blob, const char *prop_erratum,
 	int node_offset, err;
 	char *node_type = NULL;
 
-	node_type = fdt_usb_get_node_type(blob, start_offset, &node_offset);
-	if (!node_type)
+	err = fdt_usb_get_node_type(blob, start_offset,
+				    &node_offset, &node_type);
+	if (err < 0)
 		return -1;
 
 	err = fdt_setprop(blob, node_offset, prop_erratum, NULL, 0);
-- 
2.1.0



More information about the U-Boot mailing list