[U-Boot] [RFC PATCH v1 2/5] dfu: Extract fastboot_okay/fail to fb_common.c

Alex Kiernan alex.kiernan at gmail.com
Wed Apr 25 08:15:29 UTC 2018


On Wed, Apr 25, 2018 at 8:32 AM, Lukasz Majewski <lukma at denx.de> wrote:
> Hi Alex,
>
>> Added common/fb_common.c, where fastboot_okay/fail are implemented
>> so we can call them from a non-USB implementation.
>>
>> Signed-off-by: Alex Kiernan <alex.kiernan at gmail.com>
>> ---
>>
>>  common/Makefile                 |  4 ++++
>>  common/fb_common.c              | 26 ++++++++++++++++++++++++++
>>  drivers/usb/gadget/f_fastboot.c | 13 -------------
>>  3 files changed, 30 insertions(+), 13 deletions(-)
>>  create mode 100644 common/fb_common.c
>>
>> diff --git a/common/Makefile b/common/Makefile
>> index 7011dad..8177341 100644
>> --- a/common/Makefile
>> +++ b/common/Makefile
>> @@ -124,6 +124,10 @@ endif
>>  endif
>>  endif
>>
>> +ifneq ($(or
>> $(CONFIG_USB_FUNCTION_FASTBOOT),$(CONFIG_UDP_FUNCTION_FASTBOOT)),)
>> +obj-y += fb_common.o +endif
>> +
>>  ifdef CONFIG_CMD_EEPROM_LAYOUT
>>  obj-y += eeprom/eeprom_field.o eeprom/eeprom_layout.o
>>  endif
>> diff --git a/common/fb_common.c b/common/fb_common.c
>> new file mode 100644
>> index 0000000..53cffe3
>> --- /dev/null
>> +++ b/common/fb_common.c
>> @@ -0,0 +1,26 @@
>> +// SPDX-License-Identifier: GPL-2.0+
>> +/*
>> + * (C) Copyright 2008 - 2009
>> + * Windriver, <www.windriver.com>
>> + * Tom Rix <Tom.Rix at windriver.com>
>> + *
>> + * Copyright 2011 Sebastian Andrzej Siewior <bigeasy at linutronix.de>
>> + *
>> + * Copyright 2014 Linaro, Ltd.
>> + * Rob Herring <robh at kernel.org>
>> + */
>> +
>> +#include <common.h>
>> +#include <fastboot.h>
>> +
>> +void fastboot_fail(const char *reason, char *response)
>> +{
>> +     strncpy(response, "FAIL\0", 5);
>> +     strncat(response, reason, FASTBOOT_RESPONSE_LEN - 4 - 1);
>                                   ^^^^^^^ This looks a bit
>                                   "hand-crafted". I suppose that it is
>                                   to prevent not adding "reason" when
>                                   response is large ?

It is a bit, isn't it. Obviously it was a simple cut & paste refactor,
but I can't think of any reason not to turn it into an snprintf.

-- 
Alex Kiernan


More information about the U-Boot mailing list