[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