[U-Boot] [PATCH v4 2/4] drivers:usb:common:fsl-dt-fixup: Remove code duplication for fdt_usb_get_node_type

Sriram Dash sriram.dash at nxp.com
Fri Mar 18 06:05:32 CET 2016


>-----Original Message-----
>From: Marek Vasut [mailto:marex at denx.de]
>Sent: Friday, March 11, 2016 10:14 PM
>To: Sriram Dash <sriram.dash at nxp.com>; u-boot at lists.denx.de
>Cc: york sun <york.sun at nxp.com>; Ramneek Mehresh
><ramneek.mehresh at nxp.com>; Rajesh Bhagat <rajesh.bhagat at nxp.com>
>Subject: Re: [PATCH v4 2/4] drivers:usb:common:fsl-dt-fixup: Remove code
>duplication for fdt_usb_get_node_type
>
>On 03/11/2016 07:26 AM, Sriram Dash wrote:
>> Call fdt_usb_get_node_type() from fdt_fixup_usb_mode_phy_type() to
>> avoid code duplication.
>>
>> Signed-off-by: Sriram Dash <sriram.dash at nxp.com>
>> Signed-off-by: Rajesh Bhagat <rajesh.bhagat at nxp.com>
>> ---
>> Changes in v4:
>>   - Make minimal modification to code
>> Changes in v3:
>>   - Move the duplication of code to new patch
>>
>>  drivers/usb/common/fsl-dt-fixup.c | 23 ++++++-----------------
>>  1 file changed, 6 insertions(+), 17 deletions(-)
>>
>> diff --git a/drivers/usb/common/fsl-dt-fixup.c
>> b/drivers/usb/common/fsl-dt-fixup.c
>> index 92adb46..64e20d8 100644
>> --- a/drivers/usb/common/fsl-dt-fixup.c
>> +++ b/drivers/usb/common/fsl-dt-fixup.c
>> @@ -19,32 +19,21 @@
>>  #define CONFIG_USB_MAX_CONTROLLER_COUNT 1  #endif
>>
>> +static const char *fdt_usb_get_node_type(void *blob, int start_offset,
>> +					 int *node_offset);
>> +
>
>Why do you need this forward declaration ?
>

The forwarded declaration is needed as the function " fdt_usb_get_node_type " is used in " fdt_fixup_usb_mode_phy_type " but defined below " fdt_fixup_usb_mode_phy_type ".

This was done to avoid the confusion created due to git diff, while moving the " fdt_usb_get_node_type " above  " fdt_fixup_usb_mode_phy_type", in v3.

>>  static int fdt_fixup_usb_mode_phy_type(void *blob, const char *mode,
>>  				       const char *phy_type, int start_offset)  {
>> -	const char *compat_dr = "fsl-usb2-dr";
>> -	const char *compat_mph = "fsl-usb2-mph";
>>  	const char *prop_mode = "dr_mode";
>>  	const char *prop_type = "phy_type";
>>  	const char *node_type = NULL;
>>  	int node_offset;
>>  	int err;
>>
>> -	node_offset = fdt_node_offset_by_compatible(blob,
>> -						    start_offset, compat_mph);
>> -	if (node_offset < 0) {
>> -		node_offset = fdt_node_offset_by_compatible(blob,
>> -							    start_offset,
>> -							    compat_dr);
>> -		if (node_offset < 0) {
>> -			printf("WARNING: could not find compatible node: %s",
>> -			       fdt_strerror(node_offset));
>> -			return -1;
>> -		}
>> -		node_type = compat_dr;
>> -	} else {
>> -		node_type = compat_mph;
>> -	}
>> +	node_type = fdt_usb_get_node_type(blob, start_offset, &node_offset);
>> +	if (!node_type)
>> +		return -1;
>>
>>  	if (mode) {
>>  		err = fdt_setprop(blob, node_offset, prop_mode, mode,
>>
>
>
>--
>Best regards,
>Marek Vasut


More information about the U-Boot mailing list