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

Marek Vasut marex at denx.de
Fri Mar 11 17:45:35 CET 2016


On 03/11/2016 07:26 AM, Sriram Dash wrote:
> fdt_usb_get_node_type() to return error code instead of pointer.

This sentence makes no sense.

> 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;

You might as well start using errno.h

>  	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);
> 

The patch is fine otherwise.

-- 
Best regards,
Marek Vasut


More information about the U-Boot mailing list