[PATCH] common: update_tftp: remove unnecessary build check

Heinrich Schuchardt xypron.glpk at gmx.de
Mon Mar 2 08:12:09 CET 2020


On 3/2/20 1:11 AM, AKASHI Takahiro wrote:
> On Fri, Feb 28, 2020 at 07:26:25PM +0100, Heinrich Schuchardt wrote:
>> On 2/28/20 1:06 AM, AKASHI Takahiro wrote:
>>> Logically, the current update_tftp() should and does compile and work
>>> correctly even without satisfying the following condition:
>>>
>>>> #if defined(CONFIG_UPDATE_TFTP) && !defined(CONFIG_MTD_NOR_FLASH)
>>>> #error "CONFIG_UPDATE_TFTP and !CONFIG_MTD_NOR_FLASH needed for
>>>>    legacy behaviour"
>>>> #endif
>>>
>>> It would be better to just drop it so that this function will be
>>> used on wider range of platforms.
>>
>> Function update_tftp() calls update_flash(). update_flash() does nothing
>> if CONFIG_MTD_NOR_FLASH=n.
>>
>> Please, describe which configuration would be additionally usable if
>> your patch is applied.
>
> update_tftp() takes additional two parameters, interface and devstring,
> since the commit c7ff5528439a ("update: tftp: dfu: Extend update_tftp()
> function to support DFU").
> CONFIG_DFU and COFIG_DFU_XXX, without MTD_NOR_FLASH, does work.

But would you use CONFIG_UPDATE_TFTP in conjunction with CONFIG_DFU*?

common/Kconfig describes UPDATE_TFTP as: "This option allows performing
update of NOR with data in fitImage sent via TFTP boot."

doc/README.dfutftp says:
"* Update TFTP (CONFIG_UPDATE_TFTP) only supports writing
code to NAND memory via TFTP.
* DFU supports writing data to the variety of mediums (NAND,
eMMC, SD, partitions, RAM, etc) via USB."

I assume README.dfutftp saying "NAND" and not "NOR" is a documentation
error.

So why do you specifically need to allow
CONFIG_UPDATE_TFTP=y && CONFIG_MTD_NOR_FLASH=n ?

Best regards

Heinrich

>
> Thanks,
> -Takahiro Akashi
>
>
>> Best regards
>>
>> Heinrich
>>
>>>
>>> Signed-off-by: AKASHI Takahiro <takahiro.akashi at linaro.org>
>>> ---
>>>    common/update.c | 7 ++-----
>>>    1 file changed, 2 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/common/update.c b/common/update.c
>>> index c8dd346a0956..ade029851dbd 100644
>>> --- a/common/update.c
>>> +++ b/common/update.c
>>> @@ -14,10 +14,6 @@
>>>    #error "CONFIG_FIT and CONFIG_OF_LIBFDT are required for auto-update feature"
>>>    #endif
>>>
>>> -#if defined(CONFIG_UPDATE_TFTP) && !defined(CONFIG_MTD_NOR_FLASH)
>>> -#error "CONFIG_UPDATE_TFTP and !CONFIG_MTD_NOR_FLASH needed for legacy behaviour"
>>> -#endif
>>> -
>>>    #include <command.h>
>>>    #include <env.h>
>>>    #include <flash.h>
>>> @@ -210,8 +206,9 @@ static int update_flash(ulong addr_source, ulong addr_first, ulong size)
>>>    		printf("Error: could not protect flash sectors\n");
>>>    		return 1;
>>>    	}
>>> +#else
>>> +	return -1;
>>>    #endif
>>> -	return 0;
>>>    }
>>>
>>>    static int update_fit_getparams(const void *fit, int noffset, ulong *addr,
>>>
>>



More information about the U-Boot mailing list