[U-Boot] [PATCH v3 3/7] dfu: Remove dependency on HUSH parser in SPL

Andrew F. Davis afd at ti.com
Wed Jan 23 14:13:35 UTC 2019


On 1/23/19 12:54 AM, Lukasz Majewski wrote:
> Hi Tom,
> 
>> On Tue, Jan 22, 2019 at 11:43:33PM +0100, Lukasz Majewski wrote:
>>> On Thu, 17 Jan 2019 13:43:04 -0600
>>> "Andrew F. Davis" <afd at ti.com> wrote:
>>>   
>>>> CLI support with the HUSH parser is not currently SPL safe due to
>>>> it's use of realloc. That function is not defined for SPLs that
>>>> use SYS_MALLOC_SIMPLE. CLI support can be built in to SPL and some
>>>> functions do work, but use of some like run_command() will cause
>>>> build to fail. When no SPL code calls this function build works as
>>>> the compiler removes this unreachable code so the unresolved
>>>> symbols are ignored.
>>>>
>>>> If DFU support is enabled in SPL then MMU DFU support may get
>>>> brought in also, this code does make a call to run_command()
>>>> causing build to fail if the HUSH parser is not built-in. To
>>>> break this odd and unneeded dependency chain we use
>>>> CONFIG_IS_ENABLED where appropriate to prevent calls into HUSH
>>>> code from SPL. This also removes our need to pull in the rather
>>>> unrelated source file when SPL_DFU is defined. 
>>>
>>> If I remember correctly the HUSH was _required_ by TI to be able to
>>> use DFU in SPL (and that was a rationale to add it to SPL - which
>>> IMHO was wrong from the outset).
>>>
>>> What has changed that it is not needed anymore?  

The cli_simple code can now handle all the common DFU commands I was
able to throw at it, so the full HUSH is not needed anymore.

>>
>> To be fair, it was probably me-at-TI rather than TI that said it was
>> required.  At the time it was enough of a PITA to try and handle all
>> of the cases that the dfu cli command handled via API calls instead
>> that at least in my opinion, it wasn't worth re-whacking everything
>> else. Times have changed it seems :)
>>
> 
> I don't mind :-).
> 
> Less code in SPL - the better.
> 

+1

Andrew

> 
> Best regards,
> 
> Lukasz Majewski
> 
> --
> 
> DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
> 


More information about the U-Boot mailing list