[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