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

Alex Kiernan
2018-04-25T08:15:29Z

On Wed, Apr 25, 2018 at 8:32 AM, Lukasz Majewski <lukma@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@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@windriver.com>
>> + *
>> + * Copyright 2011 Sebastian Andrzej Siewior <bigeasy@linutronix.de>
>> + *
>> + * Copyright 2014 Linaro, Ltd.
>> + * Rob Herring <robh@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